准确的跨平台声音处理
Accurate cross-platform sound manipulation
如何在C++中播放和暂停波形文件,并获取播放它的长度和持续时间(以毫秒为单位)。它最好是跨平台的,但不是Qt,因为QSound很简单,而phonon需要DirectX并且不适用于mingw。谢谢
我会使用像libAO这样的低级库。您可以控制播放量,因此要"暂停",您只需停止调用ao_play()
并计算您发送的样本数量即可。
简单的音频播放并不是一项复杂的任务,它需要复杂的 API。
看看 http://www.portaudio.com/。此外,SFML还有一个音频模块:http://www.sfml-dev.org/index.php。此外,还存在商业(但免费使用,取决于项目)替代品,如 http://www.fmod.org/和BASS(Win,Mac)。
如果您浏览 Audacity 的源代码,您可能会找到一些有用的建议。
嗯,
总有杰克。它非常易于使用,并具有良好的文档,此外,它还旨在作为低延迟的跨平台I/O,并具有集成工具来处理网络声音处理。相当不错的软件,听起来像是你想做的事情。
相关文章:
- 警告处理为错误这里有什么问题
- 在C#中处理C++指针而不使用unsafe的最佳方法
- 处理多个异常集合的C++方法
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 使用流处理接收到的数据
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- 基于多个条件处理地图中的所有元素
- 如何用数字处理log(0)
- SSL上的`curl_easy_send`和`curl_asy_recv`:如何处理`CURLE_AGAIN`
- 错误处理.将系统错误代码映射到泛型
- Xaudio2在更改缓冲区或循环时弹出声音
- 从文本文件中读取时钟时间和事件时间并进行处理
- 在运行时处理类型擦除的数据-如何不重新发明轮子
- 在for循环中使用auto vs decltype(vec.size())来处理字符串的向量
- 如何处理来自 WASAPI 流的声音数据块,而无需将它们写入文件
- 处理系统键关闭消息时禁用烦人的声音
- 轻松处理声音文件
- Qt和声音处理
- 准确的跨平台声音处理