Safari - WebkitAudioContext 因未知原因在某些 mp3 文件上阻塞

Safari - WebkitAudioContext chokes on some mp3 files for unknown reason

我仅在 Safari 中遇到某些 MP3 文件的问题。

这是一个代码笔:https://codepen.io/parliament718/pen/ExjwWEp

在chrome中,两个按钮都可以播放两个文件。 在 Safari 中只有第一个按钮有效。

这是为什么?当 safari 没有看到“.mp3”后缀时,它会窒息吗?还是别的什么?

但只有一个文件使用 WebkitAudioContext 以编程方式播放。

失败代码:

window.webkitAudioContext.decodeAudioData(request.response, ...)

您的 MP3 文件无效。文件开头有 multi-part 形式的垃圾。如果你用十六进制编辑器打开它,你会看到它:

播放此文件的任何其他地方都只是对你很好。 :-)

此外,使用 audio/mpeg 作为您的 Content-Type header。这对你的情况并不重要,因为你正在使用音频上下文来解码数据......它不知道原来的 Content-Type header 是什么。我在这里为其他人提到它,因为这是一个常见的错误。