在不同的波形格式之间转换 (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等其他音频格式?

labview中关于波形图的问题

VST 主机 - MIDI 到波形转换 (C#)

用千千静听将波形文件转化为mp3文件后,在MP3机里能播放吗?

Pandas Dataframe:在两种完全不同的格式之间转换日期格式[重复]

office之间的格式转换解析 如何将ppt转换成word