近期工作中在做一个视频对讲的项目,其中视频信号是由摄像头拍摄后以mjpeg的格式存放在网页上的信息,有的手机显示正常,有的手机却根本什么都不显示:
正常的有:
我的手机(乐视1pro)使用chrome浏览器
mac电脑使用chrome浏览器
无法显示的有:
我的手机(乐视1pro)自带的浏览器(不确定是什么内核)
我使用webview嵌套该网页地址
以上,找不到办法解决,感谢android开发交流群的Tom.Chen大神提供的一下解决思路:
1.写一张html,只要在body标签中添加一个img标签,src设置为mjpeg在对应网页上的地址,如:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title></title>
</head>
<body>
lmxlmx
<img src="http://192.168.1.50:12000/mjpeg"/>
</body>
</html>
2.将这张网页拷贝到android studio的项目名/assets目录下
3.让webview加载这张我们自己写的网页
wv.loadUrl("file:///android_asset/index.html");
此时再次运行app,mjpeg视频图像正常显示了,本人菜鸟,不是很明白具体原因,猜想不能播放时因为webview无法解析mjpeg所以导致不能显示mjpeg格式文件,而Tom.Chen大神的方式是写一个html页面,让这个页面的加载者(浏览器)去解析mjpeg,但是webview无法解析难道不就是代表自带浏览器无法解析么?还请有经验的高手解答,在此分享这种曲线救国的方法,欢迎批评指正