一、准備材料
video.js下載: http://www.videojs.com/
二、代碼
引入相關文件:
貼入html代碼:
<video id="example_video_1" class="video-js" width="640" height="410" controls="controls" autoplay preload="auto" poster="/Images/treatment/reenex2.png"> <source src="/Content/videos/homepage.MP4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"' /> <source src="/Content/videos/homepage.oggtheora.ogv" type='video/webm; codecs="vp8, vorbis"' /> <source src="/Content/videos/homepage.webmhd.webm" type='video/ogg; codecs="theora, vorbis"' /> </video>
在這里為了兼容不同的瀏覽器,所以給出了三種視頻格式,但問題仍未解決,后面我會給出方案。
對video 一些屬性做一些簡單的說明:
controls:是否顯示控制面板
autoplay:是否自動播放
preload:視頻是否預加載
poster:當前視頻數據無效時顯示(預覽圖)
更詳細的介紹可以查看這篇文章:http://www.cnblogs.com/kiter/archive/2013/02/25/2932157.html
三、解決兼容性
說明:上述javascript代碼進適用於支持html5元素的IE版本,對於老版本的IE可以通過HTML5shiv來使不支持HTML5 的瀏覽器支 持HTML新標簽。htnl5shiv主要解決HTML5提出的新的元素不被IE6/IE7/IE8識別,這些新元素不能作為父節點包裹子元素,且不能應 用CSS樣式。讓CSS 樣式應用在未知元素只需執行 document.createElement(elementName) 即可實現。html5shiv的工作原理也就是基於此。html5shiv的使用很簡單,由於IE9是支持html5的,故只需要在head中添加如下代 碼即可:
<script type="text/javascript" src="http://html5shiv.googlecode.com/svn/trunk/html5media.min.js"></script>
但是大家都知道,現在的google不能訪問了,真是XXXXX,
那我就干脆自己down下來,當你down下來以后你會發現還有問題,html5media.min.js文件出錯,仔細查找,原來沒有找到兩個swf文件,大家都知道,播放視頻的插件,這兩個視頻是 必不可少的。那就再把他們down下來。
真個文件我已經分享在我的網盤:http://pan.baidu.com/s/1ntiaul7
這樣似乎問題可以解決了,當興沖沖的run后,竟然還有錯誤:
自己分析得知原因:video的src屬性是必須的
接下來我們要該一下video標簽
<video id="example_video_1" class="video-js" width="640" height="410" controls="controls" autoplay preload="auto" src="/Content/videos/step1.MP4" poster="/Images/treatment/reenex2.png"> <source src="/Content/videos/step1.MP4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"' /> </video>
為了保險,還是留了一個source。
這樣就沒問題了,運行起來,看一下Chrome,FF IE Safair都沒問題
下面傳都服務器看一下(前提:iis一定要配置 擴展名為.mp4的MIME,類型為:video/mpeg)
但問題又出來了谷歌,safair可以正常播放,但FF 跟IE不能播放,經過查閱資料得知,MiME類型應該為 video/mp4 才可以