未捕获(在Promise中)DOMException:play()只能由用户手势启动

时间:2016-06-22 20:41:52

标签: javascript android google-chrome dom

我在HTML 5 JavaScript视频播放器实现中看到了以下错误,仅在Android + Chrome Mobile上显示:

  

未捕获(在承诺中)DOMException:play()只能由用户手势启动

这个错误的原因是什么,以及避免它向前发展的正确方法是什么?

3 个答案:

答案 0 :(得分:1)

我也遇到了同样的问题。最后,问题已解决。 Webview的高度已更新为wrap_content到match_parent。 添加以下代码:

webviewSettings.setMediaPlaybackRequiresUserGesture(false);

现在错误消失了,URL已成功加载。希望对别人有用。

答案 1 :(得分:0)

您是否尝试实施某种自动播放功能?已在较新版本的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()来实现它的工作,例如点击按钮或视频加载。

答案 2 :(得分:0)

如果您使用的是网络视图,则可以使用。

x = input_image
for j in range(n_sub_layers):
    nn = Conv2dLayer(x, j)     #
    rgb_concat.append(nn)
    x = nn
rgb_concat_sublayer = ConcatLayer([rgb_concat[0], rgb_concat[1]], concat_dim=3, name='rgb_concat_sublayer_{}_{}'.format(i,1))
for sub_layer in range(2, n_sub_layers): #Second 'for' loop!!!
        rgb_concat_sublayer = ConcatLayer([rgb_concat_sublayer, rgb_concat[sub_layer]], concat_dim=3, name='rgb_concat_sublayer_{}_{}'.format(i,sub_layer))