android webview 使用video标签时候如果在javascript代码调用了video的.play()方法,有可能会出现 “play() can only be initiated by a user gesture”问题。
这是由于webview禁用了视频的自动播放,使用以下代码可以解决:
WebView wWebView = (WebView) findViewById(R.id.web_view);
wWebView.getSettings().setMediaPlaybackRequiresUserGesture(false);
此外,如果出现了“The play() request was interrupted by a call to pause()”问题,可以在play回调之后进行pauze方法调用。
video.play().then(() => {
setTimeout(() => {
video.pause();
}, 100);