小编The*_*P4C的帖子

调用 GetDisplayName 返回与 GetIconPath 相同的结果

我目前有这个代码,迭代默认设备的音频会话控件(未显示):

int sessionCount;
hr = audioSessionEnumerator->GetCount(&sessionCount);
if (FAILED(hr)) {
    throw HRESULTException("audioSessionEnumerator->GetCount", hr);
}

IAudioSessionControl *audioSessionControl;
for (int i = 0; i < sessionCount; ++i) {
    hr = audioSessionEnumerator->GetSession(i, &audioSessionControl);
    if (FAILED(hr)) {
        throw HRESULTException("audioSessionEnumerator->GetSession", hr);
    }

    LPWSTR displayName;
    hr = audioSessionControl->GetDisplayName(&displayName);
    if (FAILED(hr)) {
        throw HRESULTException("audioSessionControl->GetDisplayName", hr);
    }

    std::wcout << displayName << std::endl;

    CoTaskMemFree(displayName);

    audioSessionControl->Release();
}

audioSessionEnumerator->Release();
Run Code Online (Sandbox Code Playgroud)

我的混音器目前看起来像这样: 混合器

预期的输出是:

Steam Client Bootstrapper
melodysheep - The Face of Creation
System Sounds
Run Code Online (Sandbox Code Playgroud)

但是,看到的输出是:

(blank line)
(blank line)
@%SystemRoot%\System32\AudioSrv.Dll,-202
Run Code Online (Sandbox Code Playgroud)

输出

GetDisplayName替换为 时的输出相同 …

c++ windows audio

3
推荐指数
1
解决办法
354
查看次数

标签 统计

audio ×1

c++ ×1

windows ×1