在 Android HTML5 播放器中开始播放需要用户手势
User gesture required to start playback in Android HTML5 player
我在 android 上使用 HTML5 视频标签,有时 chrome 浏览器说它需要明确的用户 gesture/click 才能开始播放:
Failed to execute 'play' on 'HTMLMediaElement': API can only be
initiated by a user gesture
我知道这是 Android 中的一个已知问题,但我不明白为什么有时它会自动播放,而在其他情况下需要用户操作!
我正在使用带有自动播放选项的视频标签。
Auto-play 自 Android SDK 17 起被禁用,以避免糟糕的视频播放用户体验(即不希望的播放、不希望的数据使用)。通常视频应该只在用户操作后播放。这是当今 Android 和 iOS 的推荐行为。
但是,如果确实需要,您可以将 setMediaPlaybackRequiresUserGesture 设置为 false 以启用 auto-play。记得查看SDK版本,因为AndroidSDK 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
截至 2017 年 1 月 24 日
如果视频静音,HTML5 视频标签可以在 android 上自动播放。您需要在标记中包含 muted 和 autoplay 属性以使其按预期工作。
我在 android 上使用 HTML5 视频标签,有时 chrome 浏览器说它需要明确的用户 gesture/click 才能开始播放:
Failed to execute 'play' on 'HTMLMediaElement': API can only be initiated by a user gesture
我知道这是 Android 中的一个已知问题,但我不明白为什么有时它会自动播放,而在其他情况下需要用户操作!
我正在使用带有自动播放选项的视频标签。
Auto-play 自 Android SDK 17 起被禁用,以避免糟糕的视频播放用户体验(即不希望的播放、不希望的数据使用)。通常视频应该只在用户操作后播放。这是当今 Android 和 iOS 的推荐行为。
但是,如果确实需要,您可以将 setMediaPlaybackRequiresUserGesture 设置为 false 以启用 auto-play。记得查看SDK版本,因为AndroidSDK 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
截至 2017 年 1 月 24 日
如果视频静音,HTML5 视频标签可以在 android 上自动播放。您需要在标记中包含 muted 和 autoplay 属性以使其按预期工作。