在不同的波形格式之间转换 (WAVEFORMATEX)
Posted
技术标签:
【中文标题】在不同的波形格式之间转换 (WAVEFORMATEX)【英文标题】:Convert between different wave formats (WAVEFORMATEX) 【发布时间】:2014-03-28 16:53:17 【问题描述】:我正在编写一个以独占模式运行流的实时音频应用程序。为了将数据正确地呈现给设备,它需要以我自己选择的格式到达。我所有的音频处理都是在发送到设备之前使用浮点样本完成的,并且设备的波形格式可能没有(也可能没有)设置为WAVE_FORMAT_IEEE_FLOAT
- 例如,它可能是WAVE_FORMAT_EXTENSIBLE
或@ 987654324@.
是否有一种 API 可以轻松在一种波形格式(浮点)和另一种波形格式(设备格式)之间进行转换?
【问题讨论】:
msdn.microsoft.com/en-us/library/windows/hardware/… 【参考方案1】:使用音频压缩管理器 (ACM) 转换流:
Converting Data from One Format to Another
如果您无法创建从您的格式到设备格式的单个流,则必须创建两个流 - 一个从您的格式到 WAVE_FORMAT_PCM
,另一个从 WAVE_FORMAT_PCM
到设备的格式(所有流/设备必须支持与 PCM 之间的转换)。
【讨论】:
以上是关于在不同的波形格式之间转换 (WAVEFORMATEX)的主要内容,如果未能解决你的问题,请参考以下文章
怎样把(波形)声音格式(wav)转换成mp3、wma等其他音频格式?
用千千静听将波形文件转化为mp3文件后,在MP3机里能播放吗?