C++ 无法从媒体会话检索IMFAudioPolicy
我开发的Win32应用程序主要基于MF_ProtectedPlayback示例。我一次使用4个cplayer对象。它能满足我的需要 但是,我正在尝试对会话进行分组,以便它们由控制面板中的一个音量控制来控制,如文档中所述 我的问题是我无法从会话中获取IMFAudioPolicy(MR_AUDIO_POLICY_服务)。与示例中一样,我使用MFCreateAudioRenderActivate()方法创建渲染器。同样,这一切都很好。我可以从会话中获取其他接口,比如IMFSimpleAudioVolume 我得到以下错误: -onecore\com\cobase\dcomrem\call.cxx(4907)\cobase.dll!75EB0755:(调用方:75E931D8)未注册ReturnHr(3)tid(7e60)80040155接口 -在MyApp.exe中的0x773DA892(KernelBase.dll)处引发异常:0x80040155:未注册接口 相关代码:C++ 无法从媒体会话检索IMFAudioPolicy,c++,windows,audio,ms-media-foundation,C++,Windows,Audio,Ms Media Foundation,我开发的Win32应用程序主要基于MF_ProtectedPlayback示例。我一次使用4个cplayer对象。它能满足我的需要 但是,我正在尝试对会话进行分组,以便它们由控制面板中的一个音量控制来控制,如文档中所述 我的问题是我无法从会话中获取IMFAudioPolicy(MR_AUDIO_POLICY_服务)。与示例中一样,我使用MFCreateAudioRenderActivate()方法创建渲染器。同样,这一切都很好。我可以从会话中获取其他接口,比如IMFSimpleAudioVolu
HRESULT CPlayer::OnTopologyReady(IMFMediaEvent* pEvent)
{
\\ works fine
MFGetService(
m_pSession,
MR_VIDEO_RENDER_SERVICE,
__uuidof(IMFVideoDisplayControl),
(void**)&m_pVideoDisplay
);
\\ works fine
MFGetService(
m_pSession,
MR_POLICY_VOLUME_SERVICE,
__uuidof(IMFSimpleAudioVolume),
(void**)&m_pSimpleVolume
);
// winrt errors, returns null
MFGetService(
m_pSession,
MR_AUDIO_POLICY_SERVICE,
__uuidof(IMFAudioPolicy),
(void**)&m_pAudioPolicy
);
HRESULT hr = StartPlayback();
return S_OK;
}
我错过了什么?你知道为什么这个界面不可用吗?谢谢
-杰里
编辑:所以看来我想做的可能不可能。此问题与PMP中创建的受保护进程有关。仍在调查