【发布时间】:2016-10-24 23:27:37
【问题描述】:
我在我们的 HTML 5 JavaScript 视频播放器实现中看到了以下错误,仅在 Android + Chrome Mobile 上:
Uncaught (in promise) DOMException: play() 只能由用户手势启动
这个错误的原因是什么,避免它的正确方法是什么?
【问题讨论】:
标签: javascript android google-chrome dom
我在我们的 HTML 5 JavaScript 视频播放器实现中看到了以下错误,仅在 Android + Chrome Mobile 上:
Uncaught (in promise) DOMException: play() 只能由用户手势启动
这个错误的原因是什么,避免它的正确方法是什么?
【问题讨论】:
标签: javascript android google-chrome dom
您是否尝试实现某种自动播放功能?自动播放已在较新版本的 Android 上禁用。如果你好奇的话,这里有一个关于自动播放能力的长时间讨论的问题线程:http://chromium-bugs.chromium.narkive.com/cW5IXVgj/issue-178297-in-chromium-android-chrome-does-not-allow-applications-to-play-html5-audio-without-an
您可以通过在不同的事件上触发 play() 来使其工作,例如在按钮单击或视频加载时。
【讨论】:
如果您使用的是网络视图,这将起作用。
webviewSettings.setMediaPlaybackRequiresUserGesture(false);
【讨论】:
我也面临同样的问题。最终问题得到解决。 Webview 高度更新为 wrap_content 到 match_parent。 添加以下代码:
webviewSettings.setMediaPlaybackRequiresUserGesture(false);
现在错误消失了,url 加载成功。希望它对某人有用。
【讨论】: