转换不同的波格式(WAVEFORMATEX)

Convert between different wave formats (WAVEFORMATEX)

本文关键字:WAVEFORMATEX 格式 转换      更新时间:2023-10-16

我正在编写一个以独占模式运行流的实时音频应用程序。为了正确地将数据呈现给设备,它需要以一种不是我自己选择的格式到达。在发送到设备之前,我所有的音频处理都是用浮点采样完成的,设备的波格式可能不会(也可能不会)设置为WAVE_FORMAT_IEEE_FLOAT -例如,它可能是WAVE_FORMAT_EXTENSIBLEWAVE_FORMAT_PCM

是否有一个API可以很容易地在一种波格式(浮点)和另一种(设备的格式)之间转换?

使用Audio Compression Manager (ACM)转换流:

从一种格式转换成另一种格式

如果你不能从你的格式到设备的格式创建一个单一的流,你将不得不创建两个流-一个从你的格式到WAVE_FORMAT_PCM,另一个从WAVE_FORMAT_PCM到设备的格式(所有的流/设备必须支持转换到/从PCM)。