问题描述
我创建了一个C ++ Metro应用程序并使用IAudioClient接口来检查某些音频格式。令人惊讶的是,它通过IsFormatSupported()调用返回错误代码0x8889000e。
I created a C++ Metro apps and use IAudioClient interface to check on some audio formats. Surprisingly it returns Error code 0x8889000e with IsFormatSupported() call.
hr = pAudioClient-> IsFormatSupported(AUDCLNT_SHAREMODE_EXCLUSIVE,&(pDeviceFormat-> Format),& pReturnFormat);
hr = pAudioClient->IsFormatSupported(AUDCLNT_SHAREMODE_EXCLUSIVE, &(pDeviceFormat->Format), &pReturnFormat);
对于pDeviceFormat->格式,我传入2通道,44.1K和16位。 FormatTag 0xFFFE。它是最常见格式的所有设置。但是从这个调用返回的HRESULT是0x8889000e(经过一些挖掘,这意味着不支持独占模式。
请告诉我这个错误代码是否意味着什么)。
For pDeviceFormat->Format, I pass in 2 channel, 44.1K and 16bit. FormatTag 0xFFFE. It is all the settings for the most common format. But the HRESULT returned from this called is 0x8889000e (after some digging, it means Exclusive mode not supported. Please let me know if this error code means something else).
I我认为,因为Metro Apps仍然支持IAudioClient接口,所有这些独家模式文档都被标记为"Metro Apps"。同样。此调用不应出现任何错误。
I thought since IAudioClient interface is still supported in Metro Apps and all those Exclusive mode documentation is labeled as for "Metro Apps" as well. This call should not get any error.
我的桌面应用程序可以在此调用中使用所有相同参数获取S_OK。这是预期的行为吗?
My desktop App is able to get a S_OK on this call with all the same parameters. So is this an expected behavior?
谢谢。
Angela
推荐答案
您能否提供一些示例代码来重现此问题?
Would you please provide us some sample codes to reproduce this issue?
您可以将项目上传到skydriver
You can upload your project to skydriver
http://skydrive.live.com/
最好的问候,
Jesse
Best regards,
Jesse
这篇关于IAudioClient不支持Metro Apps中的独占模式?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!