Windows 8应用程序 - metro应用程序 - Mediacapture InitializeAsync异常访问被拒绝

时间:2013-01-18 15:25:06

标签: exception windows-8 microsoft-metro access-denied audio-capture

我正在开发一个使用音频设备的Windows 8应用程序,但我的initializeAsync方法有问题。以及..

在app清单功能中,我检查了麦克风。

在OnNavigatedTo方法中,我写道:

protected async override void OnNavigatedTo(NavigationEventArgs e)
    {
        try
        {                
            var settings = new MediaCaptureInitializationSettings();            
            settings.StreamingCaptureMode = StreamingCaptureMode.Audio;                
            await mediaCaptureMgr.InitializeAsync(settings);                                 
        }
        catch (Exception ex)
        {                                

        }
    }

第一次运行我的应用时,我收到以下消息:

“我的应用可以使用你的麦克风吗?”有两个按钮:允许&块。 如果我单击允许该应用程序正常工作。如果我单击阻止应用程序崩溃,Access是拒绝异常,我可以认为它是正确的,但如果我再次运行我的应用程序,我会再次收到相同的异常,而不是消息。如何关闭我使用InitializeAsync启动的音频驱动程序??????? 我该怎么办?

我可以:

1)禁用阻止按钮,但我不知道如何做到这一点。 2)管理异常(例如:如果单击阻止按钮重置音频设备,我可以再次看到该消息) 3)我不知道......

我过去两天已经解决了这个问题,但我找不到解决办法。

提前致谢。

安德烈

2 个答案:

答案 0 :(得分:1)

尝试添加此内容:

<Capability Name="removableStorage" />
<DeviceCapability Name="webcam" />
<DeviceCapability Name="microphone" />
<DeviceCapability Name="proximity" />

到Package.appxmanifest文件中的功能。

答案 1 :(得分:0)

请设置MediaCaptureInitializationSettings的VideoDeviceId属性