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

Posted

技术标签:

【中文标题】音频:如何设置默认麦克风的电平?【英文标题】:Audio: How to set the level of the default microphone? 【发布时间】:2012-01-31 10:42:58 【问题描述】:

这个让我抓狂:

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

我找到了Core Audio lib,找到了如何将 IMMDevice 获取到默认麦克风。现在呢?

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

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

TIA,

【问题讨论】:

【参考方案1】:

诀窍在于,在 Core Audio 中,录音(也称为捕获)和渲染设备并没有被认为是不同的(当然,只要您不深入研究),而之前的 API(如 waveXXX)则存在不同用于输入和输出设备的 API。

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

谢谢拉里!

【讨论】:

以上是关于音频:如何设置默认麦克风的电平?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 C WinAPI 获取当前麦克风输入电平?

设置默认音频捕获设备(特定麦克风)

Naudio - 计算音频电平上升到一个电平以上的次数

使用 Core Audio 从 PCM 原始数据中获取电平值

win10realtek高清晰音频管理器怎么设置

获取 16 位和 32 位录制流的音频电平