You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ISimpleAudioVolume的GetMute/SetMute无法更新状态问题排查

问题描述

通过ISimpleAudioVolume调用GetMute/SetMute时出现异常:

  • GetMute仅能读取初始未静音状态,调用SetMute(false)或手动静音后,状态始终无更新;
  • 排查发现音量显示固定为100%,与实际状态不符;
  • 设备ID开头为大量0,设备状态为非活动;
  • AudioSessionControl无名称,会话处于非活动状态。

用户提供的初始化代码片段:

check(CoInitialize(NULL));
check(CoCreateInstance(__uuidof(MMDeviceEnumerator), nullptr, CLSCTX_INPROC_SERVER, __uuidof(IMMDeviceEnumerator), (LPVOID*)&m_deviceEnumerator));
check(m_deviceEnumerator->GetDefaultAudioEndpoint(eRender, eConsole, &m_device));

附MainVolumeControl.h、MainVolumeControl.cpp、Main.cpp完整代码,程序运行输出显示静音状态始终为0,切换操作后无任何变化。

解决方案

问题根源是调用GetMute/SetMute时错误引用了变量指针而非变量本身,导致状态读取和设置未生效。感谢@RomanR. 的排查思路。

内容的提问来源于stack exchange,提问作者Open-Analysis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 05:15:21