2011-04-11 93 views
0

我不確定我是否正確理解QSound.setLoop函數應該如何工作。Qt:如何用QtSound重複聲音x次

我想播放一些波形文件3次。嘗試了下面的代碼,但它只播放一次。

QSound soundObj(filePath); 
soundObj.setLoops(3); 
soundObj.play(); 

幫助:-)

編輯: 這段代碼的完整版本看起來像這樣

void Alarms::playSound(QString filePath) 
{ 
    QSound soundObj(filePath); 
    soundObj.setLoops(3); 
    soundObj.play(); 
} 
+1

這應該工作得很好。不久之後你能停止聲音嗎? – Bart 2011-04-11 20:47:48

+0

你說得對:)我的QSound對象被破壞太快了。我使用動態分配,而且效果很好。 – Seba 2011-04-11 22:11:30

+1

:)必須是這樣的。很高興它解決了。 – Bart 2011-04-12 05:50:39

回答

3

soundObj對象被銷燬迅速。
必須動態分配。

+0

那就對了。播放立即返回,所以事件循環開始播放聲音。如果物體被破壞,聲音也會停止。 – 2011-04-13 09:03:36

+0

或使用:static QSound soundObj(filePath); – aviit 2015-09-10 10:07:44