我是一家 radio 广播公司的网络开发人员。自从 IOS 11 发布以来,我们收到了多位用户的投诉,称我们的音频直播流无法再在 IOS 11 设备上播放。为了在我们的网站中嵌入流,我们使用 HTML5 AudioElement。在装有 IOS 11 的 iPhone 上调试 javascript 时,我们发现调用音频元素 play() 方法会导致 MediaError 错误代码 4 (MEDIA_ERR_SRC_NOT_SUPPORTED)。所有其他设备(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>
https://codepen.io/ampersand83/pen/pWwgKm其中我只是通过 AudioTag 创建一个 AudioElement 并将源标签交给我们的流 URL 之一。
运行 IOS 10 及以下版本的设备以及当前的 android 或 windows 设备都可以毫无问题地播放流。但是,运行 IOS 11.0.1 的设备无法播放该流。我找不到任何关于为什么这不再可能的信息。有没有人知道为什么我们的流不再工作并且可以给我们建议我们可以做些什么来让它们再次工作?
最佳答案
此问题是由于 Apple WebKit 在最新的 iOS 版本中发生了变化。对于运行 KH Icecast 的用户,预计很快就会有修复(希望如此!)https://github.com/karlheyes/icecast-kh/issues/172
关于javascript - HTML5 音频元素无法在 IOS 11 设备上的 safari 中播放 mp3 Livestreams,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46486307/