2011-04-11 3 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

+0

맞아 :) 내 QSound 개체가 너무 빨리 파괴되었습니다. 대신 동적 할당을 사용했는데 효과적입니다. – Seba

+1

:) 그런 식으로해야했습니다. 다행이 다 해결되었습니다. – Bart

답변

3

soundObj 개체처럼 보이는 빨리에 파괴된다.
동적으로 할당해야합니다.

+0

그게 전부입니다. 재생이 즉시 반환되므로 이벤트 루프가 사운드를 재생하기 시작합니다. 객체가 파괴되면 소리도 멈 춥니 다. –

+0

또는 다음을 사용합니다. static QSound soundObj (filePath); – aviit

관련 문제