fixed looping sample sound bug

This commit is contained in:
druiz17 2017-10-09 11:39:57 -07:00
parent 895f79fd80
commit cd97ab0fdf

View file

@ -29,12 +29,22 @@ RowLayout {
function playSound() { function playSound() {
// FIXME: MyAvatar is not properly exposed to QML; MyAvatar.qmlPosition is a stopgap // FIXME: MyAvatar is not properly exposed to QML; MyAvatar.qmlPosition is a stopgap
// FIXME: Audio.playSystemSound should not require position // FIXME: Audio.playSystemSound should not require position
sample = Audio.playSystemSound(sound, MyAvatar.qmlPosition); if (sample === null && !isPlaying) {
isPlaying = true; sample = Audio.playSystemSound(sound, MyAvatar.qmlPosition);
sample.finished.connect(function() { isPlaying = false; sample = null; }); isPlaying = true;
sample.finished.connect(reset);
}
} }
function stopSound() { function stopSound() {
sample && sample.stop(); if (sample && isPlaying) {
sample.stop();
}
}
function reset() {
sample.finished.disconnect(reset);
isPlaying = false;
sample = null;
} }
Component.onCompleted: createSampleSound(); Component.onCompleted: createSampleSound();