开发webview的时候,当加载有声音的H5的时候,声音不会自动播放,必须手动触摸一下屏幕,声音才会播放出来,虽然在H5文件中设置了autoplay属性,也调用了play方法,依然不能自动播放,最后通过在webview中调用js方法来解决。
代码如下:
view.loadUrl("javascript:(function() { " + "var videos = document.getElementsByTagName('video');" + " for(var i=0;i<videos.length;i++){videos[i].play();}})()");
注意这个方法需要在webview的onPageFinished回调中执行调用。
使用Android自带的Webview加载带有视频的网页,出现视频只有声音没有图像的问题,究其原因,需要对webview添加硬件加速,只要对webview添加即可,代码如下
mWebView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
不对webview所在的activity添加也是可以的。
- Android使用WebView浏览有声音或者视频的网页,关闭WebView之后,声音或者视频不停止的解决办法
解决办法如下:
@Override
protected void onPause ()
{
m_WebView.reload ();
super.onPause ();
}