gpt4 book ai didi

c++ - WASAPI GetDisplayName 返回空白

转载 作者:行者123 更新时间:2023-11-28 06:34:37 32 4
gpt4 key购买 nike

我正在尝试编写一个与 Windows Core Audio 和 WASAPI 接口(interface)的程序。我在使用以下几行时遇到困难。

CComHeapPtr<WCHAR> name;
hr = pAudioSessionControl->GetDisplayName(&name);
if (FAILED(hr)) {
LOG(L"IAudioSessionControl::GetDisplayName() failed: hr = 0x%08x", hr);
return -__LINE__; }
_tprintf(_T("Session Index %d, \"%s\"\n"), i, CString(name));

输出:

Session Index 0, "@%SystemRoot%\System32\AudioSrv.Dll,-202"
Session Index 1, ""
Session Index 2, ""
Session Index 3, ""
Press any key to continue . . .

这是 3 个程序都处于事件状态并发出噪音。似乎我可以看到系统声音程序,但没有别的。

感谢您的帮助。

最佳答案

一个想法来自 another question .

问题应该出在 session 本身。大多数程序从不命名它们的 session ,因此 session 通常没有名称,而混音器上显示的名称可能是 session 所有者进程的窗口标题的名称。

使用 IAudioSessionControl2::GetProcessID 并通过其他 API 获取进程的窗口标题应该给出一个类似于音频混合器的合理名称。

关于c++ - WASAPI GetDisplayName 返回空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26948290/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com