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

Windows 11 Home中waveInOpen录音功能异常问题求助

解决Windows 11 Home下waveInOpen录音仅在声音设置打开时工作的问题
  • 检查麦克风权限设置
    Win11 Home的权限管控更严格,确保应用已获得麦克风访问权限:

    1. 打开「设置」→「隐私和安全性」→「麦克风」
    2. 开启「允许应用访问麦克风」总开关
    3. 在「选择哪些应用可以访问麦克风」列表中找到你的录音应用并开启权限;若为桌面应用,需开启「允许桌面应用访问麦克风」选项
  • 禁用麦克风省电模式
    Win11 Home默认可能对麦克风启用省电优化,导致设备未被激活:

    1. 打开「设备管理器」,展开「音频输入和输出」
    2. 右键目标麦克风设备,选择「属性」
    3. 切换到「电源管理」选项卡,取消勾选「允许计算机关闭此设备以节约电源」,点击「确定」保存
  • 设置麦克风为默认通信设备
    Win11 Home的音频会话管理逻辑有差异,将麦克风设为默认通信设备可强制激活设备:

    1. 右键任务栏音量图标,选择「声音设置」
    2. 在「输入」区域选中你的麦克风,点击「设置为默认通信设备」
    3. 重启应用测试
  • 指定具体设备调用waveInOpen
    避免使用WAVE_MAPPER自动选择设备,改为指定目标麦克风的设备ID:

    UINT deviceCount = waveInGetNumDevs();
    UINT targetDeviceID = WAVE_MAPPER; // 默认值,后续替换为实际设备ID
    for (UINT i = 0; i < deviceCount; i++) {
        WAVEINCAPS caps;
        if (waveInGetDevCaps(i, &caps, sizeof(WAVEINCAPS)) == MMSYSERR_NOERROR) {
            // 匹配你的麦克风名称,例如:if (_tcscmp(caps.szPname, _T("你的麦克风名称")) == 0)
            targetDeviceID = i;
            break;
        }
    }
    // 使用指定设备ID打开录音
    MMRESULT result = waveInOpen(&hWaveIn, targetDeviceID, &waveFormat, (DWORD_PTR)waveInProc, 0, CALLBACK_FUNCTION);
    
  • 更新音频驱动
    Win11 Home的通用驱动可能存在兼容性问题,前往麦克风或声卡制造商官网下载安装最新驱动,替换系统自带驱动。

内容的提问来源于stack exchange,提问作者Jan Nowak

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 23:45:10