【问题标题】:Safari - WebkitAudioContext chokes on some mp3 files for unknown reasonSafari - WebkitAudioContext 因未知原因阻塞某些 mp3 文件
【发布时间】:2020-06-17 16:11:03
【问题描述】:

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

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

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

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

  • 两个请求都返回“audio/mp3”Content-Type 标头。
  • 这两个文件都可以下载为 mp3 格式并在任何音频播放器中播放
  • 这两个文件都可以通过safari地址栏直接播放

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

失败代码:

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

【问题讨论】:

    标签: safari mp3 web-audio-api audiocontext webkitaudiocontext


    【解决方案1】:

    您的 MP3 文件无效。文件开头有多部分表单垃圾。如果你用十六进制编辑器打开它,你会看到它:

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

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

    【讨论】:

    • 您先生是救世主,谢谢。我使用的是 AWS 预签名 url 并直接发送 FormData 而不是 File 对象。从字面上看,其他所有东西都在播放它... Safari 太卑鄙了!
    猜你喜欢
    • 2017-06-24
    • 2017-07-08
    • 1970-01-01
    • 2020-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-01
    相关资源
    最近更新 更多