【问题标题】:User gesture required to start playback in Android HTML5 player在 Android HTML5 播放器中开始播放所需的用户手势
【发布时间】:2016-03-21 14:12:30
【问题描述】:

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

在“HTMLMediaElement”上执行“播放”失败:API 只能是 由用户手势启动

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

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

【问题讨论】:

标签: javascript android html5-video playback


【解决方案1】:

自 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

【讨论】:

  • 非常感谢!!
【解决方案2】:

截至 2017 年 1 月 24 日

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

这里是文章的链接:Autoplay on Chrome for Android as of version 53

【讨论】:

    猜你喜欢
    • 2018-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多