QSound播放一个接一个的声音

时间:2016-07-29 10:58:54

标签: windows qt audio qt4.7

我正在处理一个每200毫秒接收一个事件的程序,我想根据最后一个声音播放结束时收到的最后一个事件发出声音。 不幸的是,isFinished()函数不能在窗口上处理非环状声音。

所以我试图找到一种方法,等到声音播放完毕后再播放上一次事件中的另一个(比如只有一个元素的LIFO)。

我设法做到了:

QSound *sound[5];
int select, lastSelect;

if(sound[lastSelect]->loopsRemaining() >=1)
  sound[lastSelect]->stop();
else {
  sound[select]->setLoops(2);
  sound[select]->play();
  lastSelect = select;
}

但它排队的声音并不是我想要的 否则我可以通过将循环次数设置为2来完成它,但它在播放下一个之前播放声音两次。

你知道怎么做吗?

0 个答案:

没有答案