【问题标题】:Continuous HTML5 audio/video playback in iOS?在 iOS 中连续播放 HTML5 音频/视频?
【发布时间】:2014-06-10 11:58:26
【问题描述】:

我正在开发一个移动网络应用程序,并希望允许在 Android 和 iOS 中连续播放 HTML5 音频或视频(即排队 YouTube的播放列表> 视频或 Grooveshark 歌曲,并让它们自动连续播放)。

Android 似乎不是问题,但我所阅读的所有内容都表明 Safari 会阻止音频播放,除非它是由用户启动的,并且如果屏幕被锁定则阻止继续播放。

也就是说,Grooveshark 的移动网络应用程序将在我的 iPhone 5 (iOS 7) 中播放整个歌曲播放列表。即使我在另一个 Safari 选项卡中或锁定屏幕,它也会播放下一首歌曲。

所以问题是:他们是怎么做到的?

【问题讨论】:

    标签: iphone html5-video html5-audio mobile-website grooveshark


    【解决方案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 中是这样)。
    猜你喜欢
    • 2019-12-14
    • 1970-01-01
    • 2011-12-24
    • 2020-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-15
    • 2012-07-27
    相关资源
    最近更新 更多