在Android HTML5播放器中开始播放所需的用户手势

User gesture required to start playback in Android HTML5 player

本文关键字:用户 播放 HTML5 Android 播放器 开始      更新时间:2023-09-26

我在android上使用HTML5视频标签,有时chrome浏览器说它需要明确的用户手势/点击才能开始播放:

无法在"HTMLMediaElement"上执行"播放":API只能是由用户手势启动

我知道这是安卓系统中的一个已知问题,但我不明白的是,为什么有时它会自动播放,而在其他情况下它需要用户操作!

我正在使用带有自动播放选项的视频标签。

自Android SDK 17以来,自动播放被禁用,以避免视频播放的不良用户体验(即不希望的播放、不希望的数据使用)。通常情况下,视频应该只在用户操作后播放。这是目前Android和iOS的推荐行为。

但是,如果确实需要,您可以将setMediaPlaybackRequiresUserGesture设置为false以启用自动播放。请记住检查SDK版本,因为在Android SDK 17之前不存在此选项。

int SDK_INT = android.os.Build.VERSION.SDK_INT;
    if (SDK_INT > 16) {
        engine.getSettings().setMediaPlaybackRequiresUserGesture(false);
}

关于谷歌关于自动播放的决定,这里有一个漫长的讨论和辩论:http://chromium-bugs.chromium.narkive.com/cW5IXVgj/issue-178297-in-chromium-android-chrome-does-not-allow-applications-to-play-html5-audio-without-an

截至2017年1月24日

如果视频被静音,HTML5视频标签可以在安卓上自动播放。您需要在标记中包含静音和自动播放属性,以使其按预期工作。

以下是文章的链接:自53版起在Chrome上自动播放

相关文章: