
webm格式和mp4格式,在判断浏览器是否支持视频类型后,进行if判断,如果支持mp4格式,则返回视频后缀mp4,如果是webm,则返回后缀webm. 因此,它无法在Google Chrome浏览器中播放. 为什么我指定源是webm格式的视频谷歌浏览器 video标签,播放了Google Chrome却没有错误,但是如果判断是否使用if,发现选择的是mp4,而不是webm,是吗?
首先让我们看一下这两段代码,不同之处仅在于顺序.

/*************************************获取视频格式***************************/
function getFormatExtension(){
if( video.canPlayType("video/webm") !=""){ //针对谷歌浏览器
return ".webm";
}else if( video.canPlayType("video/mp4") !="" ){ //针对safari浏览器
return ".mp4";
}
}
/*************************************获取视频格式***************************/
function getFormatExtension(){
if( video.canPlayType("video/mp4") !=""){ //针对谷歌浏览器
return ".mp4";
}else if( video.canPlayType("video/webm") !="" ){ //针对safari浏览器
return ".webm";
}
}
结果:在谷歌浏览器中不能正常播放。

让我们看一下每种浏览器对视频元素支持的三种视频格式的表格:


我们可以看到
1. Chrome支持mp4格式和webm格式. 但是Firefox和Google Chrome都更喜欢mp4格式(经实践证明).

2. 此时,当无法在此处播放mp4格式的视频时,我遇到了这种情况,例如: 在获取过程中将显示该视频已损坏. 因此,建议将浏览器的webm格式代码写在前面,并将mp4写在后面. 为了让它首先选择webm格式的视频,或在程序中使用判断.
现在谈论为什么Google无法播放mp4格式的视频? ?
这是谷歌搜索后学到的东西,哈哈.
原因:
Chrome浏览器支持HTML5,它仅支持本机播放部分的MP4格式. MP4视频格式. 当我写此笔记时,我还认为mp4格式是.mp4的后缀. 实际上不是,MP4本身不是简单的视频格式. 它是包装视频和音频格式的外壳. 里面的视频音频编码格式使用的编码方法是可变的. MP4视频有两种编码方法: Divx和H264,但Chrome支持H264. 因此谷歌浏览器 video标签,在上面的示例中,浏览器看到一个带有MP4后缀的文件,并使用本机HTML5视频播放,但是后来发现该视频格式无法解码,因此Chrome无法播放该视频. FF估计有类似的原因.
如果有时间,看看这个
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/bofangqi/article-264301-1.html
这番话就是讲给美国人听的肺腑之言
一定看