diff --git a/src/components/image-plus.js b/src/components/image-plus.js
index f47fc8317d4c24e778f86521b76a59f831727aa1..eba04b0fb59c352be58e2374928abec6416a91f1 100644
--- a/src/components/image-plus.js
+++ b/src/components/image-plus.js
@@ -211,7 +211,7 @@ AFRAME.registerComponent("image-plus", {
           texture = await this.loadGIF(url);
         } else if (contentType.startsWith("image/")) {
           texture = await this.loadImage(url);
-        } else if (contentType.startsWith("video")) {
+        } else if (contentType.startsWith("video") || contentType.startsWith("audio/")) {
           texture = await this.loadVideo(url);
         } else {
           throw new Error(`Unknown content type: ${contentType}`);
diff --git a/src/components/media-loader.js b/src/components/media-loader.js
index 1c2c71354620d20cc64a09c0c54d5f5ef40592b0..46536b6ee17bab2ac49bf42ee270e60df62104e6 100644
--- a/src/components/media-loader.js
+++ b/src/components/media-loader.js
@@ -58,7 +58,7 @@ AFRAME.registerComponent("media-loader", {
       console.log("resolved", url, raw, origin, meta);
 
       const contentType = (meta && meta.expected_content_type) || (await fetchContentType(raw));
-      if (contentType.startsWith("image/") || contentType.startsWith("video/")) {
+      if (contentType.startsWith("image/") || contentType.startsWith("video/") || contentType.startsWith("audio/")) {
         this.el.addEventListener(
           "image-loaded",
           () => {