如何在C ++中播放和暂停波形文件,并以毫秒为单位获取播放的长度和持续时间。它应该最好是跨平台但不是Qt,因为QSound是简单的,声子需要DirectX并且不适用于mingw。感谢
答案 0 :(得分:2)
我会使用像libAO这样的低级库。您可以控制播放的次数,因此要“暂停”,您只需停止调用ao_play()
并计算您发送的样本数量。
简单的音频播放并不是一项复杂的任务,需要复杂的API。
答案 1 :(得分:1)
看看http://www.portaudio.com/。此外,SFML还有一个音频模块:http://www.sfml-dev.org/index.php。此外,还存在商业(但可以免费使用,取决于项目)的替代方案,如http://www.fmod.org/和BASS(Win,Mac)。
答案 2 :(得分:0)
如果您查看Audacity的源代码,可能会发现一些有用的建议。
答案 3 :(得分:0)
总是jack。它非常易于使用,并且具有良好的文档,以及用作处理网络声音处理的集成工具的低延迟跨平台I / O.相当不错的软件,它听起来像你正在尝试做的事情。