我在Android上使用HTML5视频标签,有时Chrome浏览器说它需要明确的用户手势/点击才能开始播放:
无法执行'播放' on' HTMLMediaElement':API只能是 由用户手势发起
我知道这是Android中的一个已知问题,但我不明白为什么有时它会自动播放,而在其他场合它需要用户采取行动!
我正在使用带有自动播放选项的视频标签。
答案 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上自动播放。您需要在标记中包含静音和自动播放属性,以使其按预期工作。