在 iOS 中连续播放 HTML5 音频/视频?
Posted
技术标签:
【中文标题】在 iOS 中连续播放 HTML5 音频/视频?【英文标题】:Continuous HTML5 audio/video playback in iOS? 【发布时间】:2014-06-10 11:58:26 【问题描述】:我正在开发一个移动网络应用程序,并希望允许在 android 和 ios 中连续播放 HTML5 音频或视频(即排队 YouTube的播放列表> 视频或 Grooveshark 歌曲,并让它们自动连续播放)。
Android 似乎不是问题,但我所阅读的所有内容都表明 Safari 会阻止音频播放,除非它是由用户启动的,并且如果屏幕被锁定则阻止继续播放。
也就是说,Grooveshark 的移动网络应用程序将在我的 iPhone 5 (iOS 7) 中播放整个歌曲播放列表。即使我在另一个 Safari 选项卡中或锁定屏幕,它也会播放下一首歌曲。
所以问题是:他们是怎么做到的?
【问题讨论】:
【参考方案1】:此代码 (jQuery) 适用于我在 iPhone Safari iOS7 中进行连续播放。即使我的屏幕锁定/其他选项卡它会在第一个结束时更改曲目(请耐心等待新曲目的加载)
<audio id="audio1" src="song1.mp3" controls></audio>
<script type="text/javascript">
$('#audio1').on('ended',function()
$(this).attr('src','song2.mp3');
$(this)[0].play();
);
</script>
我读到有人建议 Safari 阻止音频播放,除非它是由用户启动的。
=> 这是真的,而且是 by design - 目前还没有已知的解决方法(嗯......我已经看到了让它工作的丑陋尝试)。
【讨论】:
美丽。非常感谢。我会试一试。暂时接受答案。 帮助很大!一个插件问题:为什么你需要调用$(this)[0].play();
而不是$(this).play();
?
play() 方法不适用于 jQuery 对象。您需要引用实际的音频标签,因此 $(this)[0] 从 $(this) jQuery 对象中选择音频标签
这是可能的,如苹果文档中所述,并在 iPhone4 和 5s 上得到确认。 goo.gl/HzUVWc
旧线程,但我认为它仍然相关并添加我的评论。这已在 iOS 14 中修复并添加(当您在 html/JavaScript 中有播放列表时连续播放)但现在我已经从 14.3 升级到 ios15.3,除非我打开了 safari,否则它不起作用。我可以在我的网络播放器之外的另一个选项卡上。如果我锁定手机,它将不会继续播放我播放列表中的下一首歌曲(之前在 iOS 14 中是这样)。以上是关于在 iOS 中连续播放 HTML5 音频/视频?的主要内容,如果未能解决你的问题,请参考以下文章