1.如何播放:
近来工作要用Android的webview播放HTML5 video标签。做了下试验,用Android自带的Browser可以装载含有video标签的HTML5页面,而且能正常播放,但同样的网页用webview来加载就没法播放HTML5中的video。
在网上查了许多资料,所查的资料可以参考我转载那些文章,经过无数次测试,终于成功了,做法如下:
第一步当然是要先有个Webivew对象,是写在main.xml也好,或者动态创建也罢,总之有了一个Webview对象即可,假设其名为m_webview,然后设置一些属性:
m_webview.getSettings().setJavaScriptEnabled(true);
m_webview.setWebChromeClient(m_chromeClient);
本来以为要设置m_webview.getSettings().setPluginsEnabled(true);但后来发现去掉后也不影响效果。上面主要的是setWebChromeClient这个,要设置一个WebChromeClient对象给webview,WebChromeClient对象这样创建:
private WebChromeClient m_chromeClient = new WebChromeClient(){
@Override
public void onShowCustomView(View view, CustomViewCallback callback) {
// TODO Auto-generated method stub
}
};
onShowCustomView函数中什么也不用写,有篇文章http://blog.csdn.net/wolfman79/article/details/7868975还在那个函数里进行了实现,调用了video.start()之类的东西,但我测试了一下,发现那个函数根本就没有被调用,所以那个函数里的实现就都去掉了。
2.如何在activity结束时停止播放:
能够播放视频了,但发现当activity结束时,视频在后边还在播放,实在令人烦恼,又查了一通资料,终于找到解决方法,非常简单,就是在activity的onPause函数中调用webview的onPause函数即可。
以上是Android 4.0.3中实现的,在Android2.2,2.3这些版本没有试过,未必起作用。