HTML 5 AudioElement 不会在 IOS 11 设备上的 safari 中播放 mp3 Livestreams

amp*_*d83 5 html javascript mobile-safari html5-audio ios11

我是一家广播公司的网络开发人员。自 IOS 11 发布以来,我们收到了一些用户投诉,称我们的音频直播流无法再在 IOS 11 设备上播放。为了在我们的网站中嵌入流,我们使用 HTML5 AudioElement。在装有 IOS 11 的 iPhone 上调试 javascript 时,我们认识到调用音频元素 play() 方法会导致错误代码 4 (MEDIA_ERR_SRC_NOT_SUPPORTED) 的 MediaError。所有其他设备(Android、Windows 和 IOS 10 及以下)都可以毫无问题地播放流。我创建了一个小代码笔示例

    <audio controls>
      <source src="http://hr-hrinfo-
      live.cast.addradio.de/hr/hrinfo/live/mp3/128/stream.mp3" 
      type="audio/mpeg;codecs="mp3"">
      Your browser does not support the audio element.
    </audio>
Run Code Online (Sandbox Code Playgroud)

https://codepen.io/ampersand83/pen/pWwgKm在其中我只是通过 AudioTag 创建一个 AudioElement 并将源标签传递给我们的流 URL 之一。

运行 IOS 10 及以下版本的设备以及当前的 android 或 windows 设备都可以毫无问题地播放流。但是,运行 IOS 11.0.1 的设备无法播放流。我找不到任何关于为什么这不再可能的信息。有没有人知道为什么我们的流将不再工作,并且可以就我们可以做些什么来使它们再次工作提供建议?

小智 0

此问题是由于最新 iOS 版本中 Apple WebKit 的更改所致。对于运行 KH Icecast 的用户,预计很快就会修复(希望如此!) https://github.com/karlheyes/icecast-kh/issues/172