文章出處

  日前在做一個視頻播放的頁面,其中用到了HTML5的Video對象,這個是HTML5中新增的一個對象,支持多種不同格式的視頻在線播放,功能比較強大,而且還擴展了許多事件,可以通過JavaScript腳本來對視頻播放進行控制。參考下面兩個鏈接:

http://msdn.microsoft.com/en-us/library/windows/apps/hh465962.aspx

http://www.w3school.com.cn/html5/tag_video.asp

  Video對象可以通過ontimeupdate事件來報告當前的播放進度,同時通過該事件還可以根據視頻播放的情況來控制頁面上的其它元素,例如隨著視頻播放的進度來切換章節、顯示額外信息等。下面是一個例子:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
    <title></title>
</head>
<body>
    <script type="text/javascript">
        function timeUpdate() {
            document.getElementById('time').innerHTML = video.currentTime;
        }
        function durationChange() {
            document.getElementById('duration').innerHTML = video.duration;
        }
        function seekVideo() {
            document.getElementById('video').currentTime = document.getElementById('seekText').value;
        }
        window.onload = function () {
            var videoPlayer = document.getElementById("video");
            videoPlayer.ontimeupdate = function () { timeUpdate(); };
        };
    </script>
    <div>
        <video id="video" controls="controls"
            poster="./images/videoground1.png"
            src="./videoSource/video1.mp4" width="450px" height="320px"
            ondurationchange="durationChange()" />
    </div>
    <div>Time: <span id="time">0</span> of <span id="duration">0</span> seconds.</div>
    <div>
        <input type="text" id="seekText" />
        <input type="button" id="seekBtn" value="Seek Video" onclick="seekVideo();" />
    </div>
</body>
</html>

  當然你也可以像在頁面上使用其它元素一樣,給Video對象動態添加屬性或者掛事件,如:

video.ontimeupdate = function () { getCurrentVideoPosition(); };

  不過上面這行代碼貌似在Chrome上無效,可以使用addEventListener來代替它:

videoPlayer.addEventListener("timeupdate", function () { getCurrentVideoPosition(); }, false);

  不知道是什么原因在Chrome上不能直接將ontimeupdate事件掛在Video元素上,而必須通過addEventListener方法來添加事件。不過addEventListener也兼容IE和Firefox瀏覽器,所以應該是通過的。


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()