我正在使用 Windows 7 音频 API,但我碰壁了。
基本上,我需要使用IAudioSessionControl2 * 并从中获取ISimpleAudioVolume *。
现在,看起来我可以使用IAudioSessionControl2->GetSessionInstanceIdentifier(...)的值调用IAudioSessionManager->GetSimpleAudioVolume( )。请注意,这在文档中并没有完全清楚地说明,但这似乎是一种合理的行为。
问题是,GetSimpleAudioVolume() 需要一个 GUID*,而 GetSessionInstanceIdentifier() 会吐出一个 LPWSTR。通过调试,我确认 GetSessionInstanceIdentifier() 的返回值至少看起来像一个 GUID。
所以,实际的问题是如何将我得到的 LPWSTR 转换为 GUID?我意识到,如果我编组到一些托管代码并使用内置的GUID,这是非常微不足道的,但必须有一种 C++ 方式来做到这一点。
好的,这些 API 肯定不像我在上面的文本转储中所说的那样工作。但是,String -> GUID 的基本问题已得到解答,因此我不会删除该问题。