1

我正在使用 windows 音频核心 api 进行环回捕获,但失败了: // spClient is a smart comptr Wrapped IAudioClient hr = spClient->Initialize(AUDCLNT_SHAREMODE_SHARED, AUDCLNT_STREAMFLAGS_LOOPBACK,iRequestedDuration, 0, &m_struWaveFormat, 0);

它返回 AUDCLNT_E_UNSUPPORTED_FORMAT,因为 m_struWaveFormat 是 44100,16bit 格式,但是设​​备属性页中的配置在共享模式下是 48000,24bit 格式。如果我将其更改为 44100,16 位格式,上面的代码运行良好。那么,任何人都可以告诉我如何使用音频核心 api 更改默认共享模式采样率吗?感谢和问候

4

1 回答 1

0

您无法使用 WASAPI 更改共享模式采样率。

WASAPI 级别非常低,仅支持底层设备支持的内容。但即使设备支持您想要的采样率,也只有管理员可以通过进入控制面板中的音频设置来更改共享模式的采样率。

但是,您可能想查看 Windows 注册表,看看是否有任何可以调整的内容(假设您以管理员权限运行)。控制面板中的内容通常只是 Windows 注册表中值的前端。

于 2014-01-28T13:35:39.953 回答