在网页展示媒体对象,离不开HTML5的 audio和video对象。但这两个目前来看兼容性方面还得关注一下。
目前在做一个阿里云下载video 并在微信端播放mp4格式的视频的时候,碰到了一些兼容性问题后,总结出如下几点:
兼容性问题1:让所有浏览器支持video标签
这个好解决,引入html5media.min.js即可,具体在github上下载。
https://github.com/etianen/html5media
兼容性问题2:让 video 标签的src属性能识别视频类型。
我是用的MP4文件,src的值是一个请求MP4地址,代码如下:
<video src="https://xxxx/xxxx/getVideo?name=123.mp4" type="video/mp4">
</video>
虽然我也知道这个地址返回的是一个mp4的文件流,但是除了chrome,FireFox,uc等浏览器能支持外,其他浏览器均不支持,识别不了这种格式。
于是换成另外一种写法
<video src="https://xxxx/xxxx/123.mp4" type="video/mp4">
</video>
也就是说,从阿里云的接口取到了MP4文件后,保存到自己的服务器上,,然后再把video的src指向这个静态文件地址,兼容性问题就解决了,微信浏览器,其他的主流浏览器都可以播放这个视频。
至于深层次原因,有兴趣的同学可以研究下,从流的上传下载续传与video的src的关系方面入手