小编Bru*_*ton的帖子

iOS 13+ 设备的网络音频音量渐弱

我希望 Stack Overflow 社区中的某个人能够为此提供解决方法。很长一段时间以来,它一直是我的眼中钉。

我的要求非常简单:淡入页面上音频播放的音量。

使用 JavaScript 有几种方法可以做到这一点:

  1. 更新HTMLAudioElement. 这对于 iOS 设备根本不起作用,因为该属性对于操作系统来说是只读的。
  2. 将网络音频 APIAudioContext.createMediaElementSource()GainNode. 目前此功能有效,但声音输出通常会失真 - 裂纹和爆裂声会破坏任何流媒体音频的体验。这不是由于 AudioContext 使用不同的采样率引起的。
  3. 将 Web Audio API与通过响应类型AudioBuffer下载的文件结合使用。XMLHttpRequestarraybuffer这似乎导致根本没有音量。它适用于模拟器,但不适用于物理设备。

这三种方法几乎适用于任何设备上的任何浏览器(现代 iOS 设备除外)。13 之前的 iOS 版本对于方法 2 或 3 来说工作得很好。我并不是想搞阴谋论,但苹果是否会故意破坏 PWA 支持,以便为他们的应用商店带来更多收入?

javascript ios progressive-web-apps web-audio-api

6
推荐指数
1
解决办法
936
查看次数