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

时间:2015-12-15 17:00:55

标签: javascript android html5-video playback

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

  

无法执行'播放' on' HTMLMediaElement':API只能是   由用户手势发起

我知道这是Android中的一个已知问题,但我不明白为什么有时它会自动播放,而在其他场合它需要用户采取行动!

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

2 个答案:

答案 0 :(得分:3)

自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);
}

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

答案 1 :(得分:3)

截至2017年1月24日

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

以下是该文章的链接:Autoplay on Chrome for Android as of version 53