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

Posted

技术标签:

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

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

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

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

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

【问题讨论】:

这个答案是否解决了您的问题:***.com/questions/32424775/… ? 【参考方案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

【讨论】:

以上是关于在 Android HTML5 播放器中开始播放所需的用户手势的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 中连续播放 HTML5 音频/视频?

HTML5 视频播放()不播放 ionic 3“ios 和 android

html5开发,android中的微信内置浏览器如何让video标签的视频不全屏播放

HTML5 视频删除覆盖播放图标

HTML5在android WebView中没有视频只有音频播放

如何在 android phonegap 中使用 html5 videoplayer 播放视频?