【问题标题】:Android: "Failed to execute 'play' on 'HTMLMediaElement': API can only be initiated by a user gesture [duplicate]Android:“无法在'HTMLMediaElement'上执行'play':API只能由用户手势启动[重复]
【发布时间】:2015-12-07 09:45:09
【问题描述】:

我正在开发 HTML5 视频播放器自动化(测试页面是一个 html 页面)。我尝试通过 Javascript 调用 myPlayer.Play()。然而,在 Android 上,我收到了这个错误:

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

发送Play() 请求后。

我知道autoplay 在许多设备上被禁用是为了节省用户带宽。但第一次Play() 似乎也需要用户手势。对此有什么解决方法,以便我可以自动测试播放器设备?

【问题讨论】:

  • 不是重复的,因为这个问题在 Android WebView 的上下文中有一个特定的答案。

标签: android ios html html5-video


【解决方案1】:

您可以禁用此安全功能。例如:

WebView mWebView = (WebView) findViewById(R.id.web_view);
mWebView.getSettings().setMediaPlaybackRequiresUserGesture(false);

在 API 版本 17 及更高版本中可用

More info see this

【讨论】:

  • 经过一晚寻找解决方案,这个答案只是救了我的命。谢谢。
  • 这是一个比上面标记的重复项更有用的答案。
  • 太棒了。谢谢。
猜你喜欢
  • 2015-12-02
  • 2017-10-05
  • 2021-07-13
  • 1970-01-01
  • 2016-12-12
  • 1970-01-01
  • 2016-10-24
  • 2020-04-23
  • 2017-11-13
相关资源
最近更新 更多