修改系统卷时如何修改 WASAPI 环回捕获卷?
Posted
技术标签:
【中文标题】修改系统卷时如何修改 WASAPI 环回捕获卷?【英文标题】:How to modify WASAPI loopback capture volume when the volume of the system gets modified? 【发布时间】:2020-02-23 00:16:13 【问题描述】:我正在使用带有环回捕获模式的 WASAPI 来录制我的 Windows 10 笔记本电脑声卡的音频。我在这里按照示例进行操作:https://docs.microsoft.com/en-us/windows/win32/coreaudio/capturing-a-stream,它运行良好。
但是,当我将计算机静音或上下滑动音量时,录音的音量不会改变。我希望它相应地改变并相应地静音,而不是总是播放。我已经考虑通过 Activate 函数 (https://docs.microsoft.com/en-us/windows/win32/api/mmdeviceapi/nf-mmdeviceapi-immdevice-activate) 将 IAudioEndpointVolume 添加到我的 IMM_Device(已经使用 IAudioClient3 激活),但代码现在在 Initialize 调用中崩溃。
有人能做到吗?有什么建议可以从现在开始吗?
非常感谢!
【问题讨论】:
【参考方案1】:但是,当我将计算机静音或上下滑动音量时,录音的音量不会改变。
Volume Controls
如音频会话中所述,Sndvol 是系统音量控制程序。它显示系统中音频渲染端点设备的音量控制。 (目前,它不显示音频捕获端点设备的音量控制。)要查看特定设备的音量控制,请单击菜单栏中的设备,然后从列表中选择设备名称可用的设备。
也许问题就在这里。您将音频渲染静音,而不是音频捕获。
【讨论】:
以上是关于修改系统卷时如何修改 WASAPI 环回捕获卷?的主要内容,如果未能解决你的问题,请参考以下文章
docker中启用挂载卷,docker中的新文件会不会同步到
使用 mariadb 10.4.8 docker 容器的用户“root”@“localhost”的访问被拒绝,使用 docker compose 并在附加外部卷时发出问题