diff --git a/src/components/Player.vue b/src/components/Player.vue index e4c701d..85410be 100644 --- a/src/components/Player.vue +++ b/src/components/Player.vue @@ -14,6 +14,11 @@ const player = usePlayer(), const audio = ref(null); +const dataOf = Object.freeze({ + 1002: 1, + 3016: 0, +}); + function audioCanPlay() { player.state.status = 'pause'; audio.value.play().catch(err => { @@ -43,6 +48,7 @@ async function Stream() { codecs = store.getItem('codec'); await audioPlayer.attach(audio.value); + audioPlayer.addEventListener('error', ({ detail }) => errorLog(detail)); for (const [playerKey, audioKey] of Object.entries({ rate: 'playbackRate', @@ -123,11 +129,12 @@ async function Stream() { ); } }) - .catch(err => { - console.error(err); - if (err.code == 3016) a.add('MediaError: ' + err.data[0]); - else a.add('Error: ' + err.code); - }); + .catch(errorLog); +} + +function errorLog(err) { + a.add(err.data[dataOf[err.code]] ?? 'Shaka Error: ' + err.code); + console.error(err); } function destroy() {