资源被解释为文档,但在 Chrome 控制台中传输时出现 MIME 类型音频/mpeg 错误,导致无法播放声音

Posted

技术标签:

【中文标题】资源被解释为文档,但在 Chrome 控制台中传输时出现 MIME 类型音频/mpeg 错误,导致无法播放声音【英文标题】:Resource interpreted as Document but transferred with MIME type audio/mpeg error in Chrome console preventing sounds from playing 【发布时间】:2019-09-21 22:49:51 【问题描述】:

我正在创建一个愚蠢有趣的小网站,当单击按钮时会播放随机的 meme 声音。我收到了混合内容错误,因此我将所有链接更改为 https。但是,现在当我单击应该播放声音的按钮时,会加载 javascript 文件但不会播放声音。在控制台中,错误显示:资源解释为文档,但使用 MIME 类型音频/mpeg 传输。声音不能在 Chrome 中播放,但在 Firefox 中可以正常播放。如何让声音在 Chrome 中播放?

这是您可以自己测试的网站:dankmemesoundboard.com

【问题讨论】:

在我的机器上工作...(Win 10,Chrome 76.0.3809.132) 【参考方案1】:

我认为 Chrome 没有理由将文件解释为文档。 可能是一个错误... 但如果您使用音频 API,则不会。

var audio = null;
function playRandomSound()
    let r = randomNr(1,135);
    if(audio && audio.pause) audio.pause();
    audio = new Audio("/Sounds/" + r + ".mp3");
    audio.play();


function randomNr(min, max) 
    return Math.floor(Math.random() * (max - min + 1) + min);

【讨论】:

以上是关于资源被解释为文档,但在 Chrome 控制台中传输时出现 MIME 类型音频/mpeg 错误,导致无法播放声音的主要内容,如果未能解决你的问题,请参考以下文章

资源解释为文档,但使用 MIME 类型 application/csv 传输

资源解释为图像,但在 xampp 中使用 MIME 类型 text/xml 传输?

资源解释为“其他”,但以未定义的 MIME 类型传输。 IE 错误(Asp.net 网站)

font-face+chrome+django:如何避免消息“资源解释为字体但使用 MIME 类型应用程序/八位字节流传输。”

Springboot - 资源解释为样式表,但使用 MIME 类型 text/html 传输

文件下载 资源解释为文档,但使用 MIME 类型 application/octet-stream 传输