aboutsummaryrefslogtreecommitdiff
path: root/webAO/dom/opusCheck.ts
diff options
context:
space:
mode:
Diffstat (limited to 'webAO/dom/opusCheck.ts')
-rw-r--r--webAO/dom/opusCheck.ts22
1 files changed, 22 insertions, 0 deletions
diff --git a/webAO/dom/opusCheck.ts b/webAO/dom/opusCheck.ts
new file mode 100644
index 0000000..939fdc6
--- /dev/null
+++ b/webAO/dom/opusCheck.ts
@@ -0,0 +1,22 @@
+/**
+ * Triggered when there was an error loading a sound
+ * @param {HTMLAudioElement} image the element containing the missing sound
+ */
+export function opusCheck(
+ channel: HTMLAudioElement
+): OnErrorEventHandlerNonNull {
+ const audio = channel.src;
+ if (audio === "") {
+ return;
+ }
+ console.info(`failed to load sound ${channel.src}`);
+ let oldsrc = "";
+ let newsrc = "";
+ oldsrc = channel.src;
+ if (!oldsrc.endsWith(".opus")) {
+ newsrc = oldsrc.replace(".mp3", ".opus");
+ newsrc = newsrc.replace(".wav", ".opus");
+ channel.src = newsrc; // unload so the old sprite doesn't persist
+ }
+}
+window.opusCheck = opusCheck; \ No newline at end of file