• 5921阅读
  • 1回复

[提问]QSound::isFinished() 为何在手机上也永远是true? [复制链接]

上一主题 下一主题
 
只看楼主 倒序阅读 楼主  发表于: 2011-01-14
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2011-01-14) —
想播放 wav文件.
实在看不懂怎样设置 QAudioOutput 的format,如果不设置format,则无法播放,说频率不对.
Qt的例子里是raw文件.如果用那个format播放wav,就是一片杂音,差点把我耳朵震聋.

然后就只有用QSound
主要是因为QSound无法知道什么时候播放结束.因为我是要连续播放不同的文件.

我看文档里说win下的话,如果没有循环,则 isFinished() 永远是true.
但是我在n8手机上测试,也是永远是true.

这样我就无法知道什么时候结束了.

请问这个问题该怎么解决啊?
我要的效果就是连续播放N个wav文件,但是必须一个接一个播放.
离线梅克斯
只看该作者 1楼 发表于: 2011-01-17
Qsound好像是调用play()函数后,会开启一个线程来播放,线程开始播放的时候,finish就是true了,至于播放完了没,就不知道了
快速回复
限100 字节
 
上一个 下一个