diff --git a/src/room.js b/src/room.js index 4b06679..9e29f64 100644 --- a/src/room.js +++ b/src/room.js @@ -368,15 +368,19 @@ class Track { src.setMaxDistance(AudioMaxDistance) // Toggle play once to initialise mobile playback - let playPromise = el.play() - if (playPromise !== undefined) { - playPromise.then(_ => { - el.pause() - }) - .catch(error => { - console.error("pause for source "+s.id+" track "+ index + " failed", error, error.stack) - }) - } + el.addEventListener("canplay", () => { + let playPromise = el.play() + if (playPromise !== undefined) { + playPromise.then(_ => { + el.pause() + }) + .catch(error => { + console.error("pause for source "+s.id+" track "+ index + " failed", error, error.stack) + }) + } + }, { + once: true + }) let lastSync = Date.now() performanceTime.addEventListener('timeSync', function() {