转换不同的波格式(WAVEFORMATEX)
Convert between different wave formats (WAVEFORMATEX)
我正在编写一个以独占模式运行流的实时音频应用程序。为了正确地将数据呈现给设备,它需要以一种不是我自己选择的格式到达。在发送到设备之前,我所有的音频处理都是用浮点采样完成的,设备的波格式可能不会(也可能不会)设置为WAVE_FORMAT_IEEE_FLOAT
-例如,它可能是WAVE_FORMAT_EXTENSIBLE
或WAVE_FORMAT_PCM
。
是否有一个API可以很容易地在一种波格式(浮点)和另一种(设备的格式)之间转换?
使用Audio Compression Manager (ACM)转换流:
从一种格式转换成另一种格式
如果你不能从你的格式到设备的格式创建一个单一的流,你将不得不创建两个流-一个从你的格式到WAVE_FORMAT_PCM
,另一个从WAVE_FORMAT_PCM
到设备的格式(所有的流/设备必须支持转换到/从PCM)。
相关文章:
- 如何在openssl-ecc中获取十六进制格式的私钥
- 将"打开的CV图像"中的"颜色"转换为整数格式
- TDateTime格式在C++Builder中不会更改
- 如何防止clang格式在流运算符调用之间添加换行符<<
- 检查不带转换的扫描格式
- 当我尝试使用 sstream 和分面将 Boost Time_duration转换为字符串时,我没有得到所需的格式
- 是否可以从格式字符串中检索"width"
- clang格式:宏的缩进
- clang格式:禁用排序包含
- 在用于格式4的arm模拟器中实现功能时的一个问题
- 将RGB图像保存为PPM格式
- 询问在设计我的手臂模拟器功能表示格式1
- 当使用比格式支持的精度更高的精度来显示数字时,会写出什么数据
- 带有Protobuf序列化的C++Hazelcast:字符串不是UTF-8格式的
- 如何将strftime中的格式错误作为异常捕获
- 将CHW格式的浮点向量转换为cv::Mat
- 如何将二进制格式的 C++ 对象的 std::vector 保存到磁盘?
- 如何以叮当格式设置评论的行长?
- 为什么我需要C++中不同的排序格式来对这个USACO代码上的数组和优先级队列进行排序
- 转换不同的波格式(WAVEFORMATEX)