当前位置: 首页 > 知识库问答 >
问题:

Safari-WebkitAudioContext因未知原因阻塞了一些mp3文件

公孙向荣
2023-03-14

我有一个问题,某些MP3文件只在Safari。

这里有一个代码:https://codepen.io/parliament718/pen/ExjwWEp

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

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

  • 两个请求都返回音频/mp3内容类型标头。
  • 两个文件都可以下载为mp3并在任何音频播放器中播放
  • 两个文件都可以直接通过Safari地址栏播放

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

失败代码:

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

共有1个答案

李锦
2023-03-14

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

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

另外,对内容类型标题使用音频/mpeg。这在您的情况下并不重要,因为您正在使用音频上下文来解码数据。。。它不知道原始的内容类型是什么。我在这里向其他人提及这一点,因为这是一个常见的错误。

 类似资料:
  • 我试图使用Maven作为服务器在Tomcat8上运行。我对这两个是新手,所以我有一个示例文件,我没有做,应该打印‘欢迎’。但是,我收到这个错误 请求的资源不可用。 提前致谢:)

  • 我想模拟我的 PermissionHostCompat 类的 action 我是这样做的: 它给我抛出了错误: org . mock ITO . exceptions . misusing . invaliduseofmatchersexception:< br >参数匹配器的使用无效!< br >预期有0个匹配者,记录了2个: 如果匹配器与原始值组合,则可能会出现此异常:/ /不正确: some

  • 我正在处理一些奇怪的错误信息,我认为这可以归结为内存问题,但我很难确定它,可以从专家那里得到一些指导。 我有一个两台机器的Spark(1.0.1)集群。两台机器都有8个核心;一台有16GB内存,另一台有32GB内存(这是主)。我的应用程序涉及计算图像中的成对像素亲和力,尽管我测试的图像到目前为止只有1920x1200大,16x16小。 我确实必须改变一些内存和并行性设置,否则我会得到显式的OutO

  • 最近,我在我的netty4项目中找到了一些。 有人说在使用start netty的ServerBootstrap的sync()方法时会导致死锁,因为sync()会调用await()方法,而await()中有一个叫‘check deadlock’的方法。 但我不这么认为。ServerBootstrap使用名为boosGroup的EventLoopGroup,Channel使用workerGroup来

  • 我不明白资格赛在哪里/为什么会被淘汰。 我在c()上得到一个编译器错误;生产线: 错误:传递“const std::\u Bind(A) 解决方法我不明白: > 将A::f()定义为const:void f()const{}; 对实例的引用:调用者(std::bind( 通过以下方式传递到lambda:自动l=[ g版本:

  • 模型类 阶级国籍 存储库类 服务类别 控制器类 原因:org.hibernate.annotationException:mappedBy引用了未知的目标实体属性:org.hibernate.cfg.annotations.CollectionBinder.BindStartomanySecondPass(CollectionBinder.java:769)~[hibernate-core-5.0