windows - 音频:如何设置默认麦克风的电平?

标签 windows winapi audio core-audio

这个让我抓狂:

在专用于此声音播放/录制应用程序的 Vista+ 计算机上,我需要我的应用程序确保(默认)麦克风电平被推到最大。我该怎么做?

我找到了 Core Audio lib ,找到了如何将 IMMDevice 获取到默认麦克风。怎么办?

文档让我认为我需要一个 ISimpleAudioVolume来自我的 IMMDevice 的接口(interface)指针,但我该怎么做呢?

请注意,我对设置此微级别的任何编程方式(无论是 Core Audio 还是其他任何东西)都感兴趣。理想情况下是系统范围的,但应用程序范围是可以的。

TIA,

最佳答案

诀窍在于,在 Core Audio 中,录音(又名捕获)和渲染设备并没有被认为是不同的(当然只要你不深入研究),而不是像 waveXXX 这样的以前的 API,其中有不同的 API 用于输入和输出设备。

因此,这个 full exampleLarry Osterman只需更改 eRender 即可修改设置扬声器音量以设置麦克风音量至eCapture在返回默认设备的枚举器调用中。

谢谢拉里!

关于windows - 音频:如何设置默认麦克风的电平?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9078173/

相关文章:

c++ - GetUserDefaultUILanguage API 在 Win8.1(加拿大法语)上返回不正确的语言

c++ - 进程间内存编辑-查找更改的地址

audio - 使用 Sox 更改多个音频文件的音高

javascript - 在React/Redux中使用音频对象

Python pip install django mysql 在 Windows 上失败

C# - 通过 Process.Start 使用计划任务

windows - Git 推送不起作用,但 "git clone"和 SSH 起作用

c++ - 如何通过将程序添加到注册表来使我的程序在启动时运行?

c++ - IOCP 和 ReadFileEx 用法

matlab - 使用 Matlab 从 .wav 文件中去除脉冲噪声