首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UWP MediaCapture初始化失败

UWP MediaCapture初始化失败
EN

Stack Overflow用户
提问于 2019-11-14 09:55:22
回答 1查看 509关注 0票数 2

我正在开发一个WPF应用程序,在该应用程序中,我使用Windows.Media.Capture.MediaCapture类记录音频数据。如果我用或不带参数初始化,它就能工作:

代码语言:javascript
复制
var mediaCapture = new MediaCapture();
await mediaCapture.InitializeAsync();

或者我可以添加要使用的麦克风(如果有多个麦克风):

代码语言:javascript
复制
var allAudioDevices = await DeviceInformation.FindAllAsync(DeviceClass.AudioCapture);
DeviceInformation microphone = allAudioDevices.FirstOrDefault();

MediaCaptureInitializationSettings mediaInitSettings = new MediaCaptureInitializationSettings {
    AudioDeviceId = microphone.Id,
    StreamingCaptureMode = StreamingCaptureMode.Audio
};

await _mediaCapture.InitializeAsync(mediaInitSettings);

当我将我的应用程序作为UWP应用程序运行时(使用桌面桥),问题就来了。作为一个UWP应用程序,当它调用InitializeAsync()方法时,它总是抛出一个异常,其错误消息如下(详细:):Element not found.麦克风的DeviceInformation对象被正确找到,因此在MediaCapture初始化过程中发生了一些事情。

麦克风功能在桥项目的清单文件中设置。

我做错了什么?我也愿意用其他的方法来记录这个声音。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-18 11:08:47

我发现如果我在UI线程上运行初始化,它会运行得很好:

代码语言:javascript
复制
await Application.Current.Dispatcher.InvokeAsync(async () => {
    await mediaCapture.InitializeAsync();
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58853904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档