亚洲国产精品人久久,亚洲va国产日韩欧美精品色婷婷,久久久久88色偷偷,免费人成黄页在线观看国际

17站長網

17站長網 首頁 編程教程 Html5教程 查看內容

HTML 5 Video + DOM

html5 <video> 元素同樣擁有方法、屬性和事件。

其中的方法用于播放、暫停以及加載等。其中的屬性(比如時長、音量等)可以被讀取或設置。其中的 DOM 事件能夠通知您,比方說,<video> 元素開始播放、已暫停,已停止,等等。

下例中簡單的方法,向我們演示了如何使用 <video> 元素,讀取并設置屬性,以及如何調用方法。

html5 <video> - 方法、屬性以及事件

下面列出了大多數瀏覽器支持的視頻方法、屬性和事件:

方法屬性事件
play()currentSrcplay
pause()currentTimepause
load()videoWidthprogress
canPlayTypevideoHeighterror

durationtimeupdate

endedended

errorabort

pausedempty

mutedemptied

seekingwaiting

volumeloadedMetadata

height

width

注釋:在所有屬性中,只有 videoWidth 和 videoHeight 屬性是立即可用的。在視頻的元數據已加載后,其他屬性才可用。

方法、屬性、事件的使用

一:屬性   

error屬性:在正常讀取時候,使用媒體數據的過程中,video元素或audio元素的error屬性為null,但是任何時候只要出現錯誤,error屬性將返回一個MediaError對象,該對象的code返回對應的錯誤狀態,共有4個可能值:

  1. MEDIA_ERR_ABORTED(數字值為1),媒體數據的下載過程由于用戶的操作原因而被終止。

  2. MEDIA_ERR_NETWORK(數字值為2),確認媒體資源可用,但是在下載出現網絡錯誤,媒體數據的下載過程被中止。

  3. MEDIA_ERR_DECODE(數字值為3),確認媒體資源可用,但是解碼時發生錯誤。

  4. MEDIA_ERR_SRC_NOT_SUPPORTED(數字值為4),媒體資源不可用或媒體格式不被支持。

代碼如下:

<video src="" id="videoElement"></video>var video = document.getElementById("videoElement");
video.addEventListener('error',function(){var error = video.error;
    swicth(error.code) {
        case 1:
           alert("視頻的下載過程被中止");
        break;
 
        case 2:
           alert("網絡發生故障,視頻的下載過程被中止");
        break;
 
        case 3:
           alert("解碼失敗");
        break;
 
        case 4:
           alert("媒體資源不可用或媒體格式不被支持");
        break;
    }
},false);

networkState屬性

在媒體數據加載過程中可以使用video元素或audio元素的networkState屬性讀取當前網絡狀態,共有4個可能的值;

1.  NETWORK_EMPTY(數字值為0):元素處于初始狀態。

2.  NETWORK_IDLE(數字值為1),瀏覽器已選擇好用什么編碼格式來播放媒體,但是尚未建立網絡連接。

3.  NETWORK_LOADING(數字值為2):媒體數據加載中

4.  NETWORK_NO_SOURCE(數字值為3),沒有支持的編碼格式,不執行加載。

currentTime屬性與duration屬性

  1. video元素或audio元素的currentTime屬性來讀取媒體的當前播放位置(單位是s),也可以通過修改currentTime屬性來修改當前播放位置,如果修改的位置上沒有可用的媒體數據時,將拋出INVALID_STATE_ERR異常;

  2. video元素或audio元素的duration屬性來讀取媒體文件總的播放時間。

我們可以來做demo如下:

HTML代碼如下:

<video id="video" controls width=640 height=360 autoplay>
    <source src="Wildlife/Wildlife.ogv" type='video/ogg; codecs="theora,vorbis"'/>
    <source src="Wildlife/Wildlife.webm" type='video/webm' >
    <source src="Wildlife/Wildlife.mp4" type='video/mp4'>
    <p>Video is not visible,most likely your browser does not support HTML5 video</p>
</video>
<button onclick="getCurTime()" type="button">獲得當前時間的位置</button>
<button onclick="setCurTime()" type="button">把時間位置設置為 5 秒</button>
<button onclick="duration()" type="button">讀取媒體文件總的播放時間</button>

js代碼如下:

var myVid=document.getElementById("video");
function getCurTime(){ 
    // 獲得當前視頻或者音頻時間的位置
    alert(myVid.currentTime);   
} 
function setCurTime(){ 
// 給當前的視頻或者音頻設置5s時間的位置
    myVid.currentTime=5;        
} 
function duration() {
    //讀取媒體文件總的播放時間 單位為S
    alert(myVid.duration); 
}

大家可以復制代碼,換一張視頻地址就可以看到效果了~;

played屬性,paused屬性與ended屬性

played:video元素或audio元素的played屬性來返回一個TimeRanges對象,從該對象中可以讀取媒體文件的已播放部分的時間段。開始時間為已播放部分的開始時間,結束時間為已播放部分的結束時間。

paused屬性:使用video元素或audio元素的paused屬性來返回一個布爾值,表示是否處于暫停播放中,true表示媒體暫停播放,false表示媒體正在播放;

ended屬性:使用video元素或audio元素的ended屬性來返回一個布爾值,表示是否播放完畢,true表示媒體播放完畢,false表示媒體還沒有播放完畢。

HTML代碼如下:

<video id="video" controls width=640 height=360 autoplay loop>
    <source src="Wildlife/Wildlife.ogv" type='video/ogg; codecs="theora,most likely your browser does not support HTML5 video</p>
</video>
<button onclick="played()" type="button">讀取媒體文件的已播放部分的時間段</button>
<button onclick="paused()" type="button">是否處于暫停播放</button>
<button onclick="ended()" type="button">是否播放完畢</button>

js代碼如下:

var myVid=document.getElementById("video");
function played() {
    //讀取媒體文件的已播放部分的時間段
    console.log(myVid.played);
}
function paused() {
    // 是否處于暫停播放
    alert(myVid.paused);
}
function ended() {
    // 是否播放完畢
    alert(myVid.ended);
}

defaultPlaybackRate屬性與playbackRate屬性

     defaultPlaybackRate屬性:可以使用video元素或者audio元素的defaultPlaybackRate屬性讀取或修改媒體默認的播放速率。

     playbackRate屬性:可以使用video元素或者audio元素的playbackRate屬性讀取或修改媒體當前的播放速率。

volume屬性與muted屬性

volume屬性:使用video元素或audio元素的volume屬性讀取或修改媒體的播放音量,范圍為0到1,0為靜音,1為最大音量。

muted屬性:使用video元素或audio元素的muted屬性讀取或修改媒體的靜音狀態,該值為布爾值,true表示處于靜音狀態,false表示處于非靜音狀態。

HTML代碼如下:

<video id="video" controls width=640 height=360 autoplay loop>
    <source src="Wildlife/Wildlife.ogv" type='video/ogg; codecs="theora,most likely your browser does not support HTML5 video</p>
</video>
<button onclick="volume()" type="button">讀取或修改媒體的播放音量</button>
<button onclick="muted()" type="button">讀取或修改媒體當前的靜音狀態</button>

JS代碼如下:

var myVid=document.getElementById("video");
function volume(){
    // 讀取或修改媒體的播放音量
    myVid.volume = 0.1;
}
function muted() {
    //讀取或修改媒體當前的靜音狀態
    myVid.muted = true;
}

大家可以使用下,當我點擊”讀取或修改媒體的播放音量”按鈕時候,聲音會變的很小,當我點擊”讀取或修改媒體當前的靜音狀態”按鈕時候,視頻完全就沒有聲音。

二:方法

video元素與audio元素有以下四種方法;

  1. play方法:使用play方法來播放媒體,自動將元素的paused屬性的值變為false。

  2. pause方法:使用pause方法來暫停播放,自動將元素的paused屬性的值變為true。

  3. load方法,使用load方法來重新載入媒體進行播放,自動將元素的playbackRate屬性的值變為defaultPlaybackRate屬性的值,自動將元素的error的值變為null。

下面是播放和暫停的demo如下:

<video id="video" controls width=640 height=360>
    <source src="Wildlife/Wildlife.ogv" type='video/ogg; codecs="theora,most likely your browser does not support HTML5 video</p>
</video>
<button onclick="play()">播放</button>
<button onclick="pause()">暫停</button>

JS代碼如下:

var myVid=document.getElementById("video");
// 監聽視頻播放結束的事件
myVid.addEventListener("ended",function(){
    alert("播放結束");
},true);
// 發生錯誤
myVid.addEventListener('error',function(){
    switch(myVid.error.code) {
        case 1: 
          alert("視頻的下載過程被中止");
        break;
 
        case 2:
              alert("網絡發生故障,視頻的下載過程被中止");
        break;
 
        case 3:
              alert("解碼失敗");
        break;
 
        case 4:
              alert("不支持播放的視頻格式");
        break;
 
        default:
              alert("發生未知錯誤");
        }
},false);
 
function play() {
    // 播放視頻
    myVid.play();
}
function pause() {
    // 暫停播放
    myVid.pause();
}

如上代碼,默認的情況下是不自動播放,當我點擊播放按鈕時候,就播放,當我點擊暫停按鈕時候就停止當前的播放。

 4. canPlayType方法:使用canPlayType方法來測試瀏覽器是否支持指定的媒體類型,該方法定義如下:var support = videoElement.canPlayType(type);

videoElement表示頁面上的video元素或audio元素,該方法使用一個參數type,該參數的指定方法與source元素的type參數的指定方法相同,用播放文件的MIME類型來指定,可以在指定的字符串中加上表示媒體編碼格式的codes參數。

該方法可能返回的值如下所示:

  1. 空字符串:表示瀏覽器不支持此種媒體類型。

  2. maybe: 表示瀏覽器可能支持此種媒體類型。

  3. probably: 表示瀏覽器確定支持此種媒體類型。

HTML代碼如下:

<video id="video" controls width=640 height=360>
    <source src="Wildlife/Wildlife.ogv" type='video/ogg; codecs="theora,most likely your browser does not support HTML5 video</p>
</video>
<button onclick="canPlayType()">canPlayType方法</button>

JS代碼如下:

var myVid=document.getElementById("video");
function canPlayType() {
    var support = myVid.canPlayType("video/webm");
    console.log(support); // maybe
 
    var support = myVid.canPlayType('video/ogg; codecs="theora,vorbis');
    console.log(support); // probably
}

三:事件

1.   事件處理方式

使用video元素或audio元素的事件方式有2種,第一種是監聽的方式,使用video元素或audio元素的addEventListener方法來對事件的發生進行監聽,該方法定義如下:

videoElement.addEventListener(type,listener,userCapture);

如上的監聽方式和我們的JS的監聽的方式一樣,不做詳細介紹,我們來看看第二種事件監聽方式是為JavaScript腳本中常見的獲取事件句柄的方式,如下所示:

<video id=”” src=””  onplay=”begin()”></video>
function begin(){}

 2.   事件介紹

Video元素與audio元素的相關事件

 事件 描述
 loadstart 瀏覽器開始在網上尋找媒體數據
 progress 瀏覽器正在獲取媒體數據
 suspend 瀏覽器暫停獲取媒體數據,但是下載過程中并沒有正常結束
 abort 瀏覽器在下載完全部媒體數據之前中止獲取媒體數據,但是并不是由錯誤引起的
 error 獲取媒體數據過程中出錯
 emptied 暫不考慮,可以網上看
 stalled 瀏覽器嘗試獲取媒體數據失敗
 play 即將開始播放,當執行了play方法時觸發,或數據下載后元素被設為autoplay
 pause 播放暫停,當執行了pause方法觸發
 loadedMetadata 瀏覽器獲取完媒體的時長和字節數
 loadeddata 瀏覽器已加載完畢當前播放位置的媒體數據,準備播放
 waiting 可以暫不看
 playing 正在播放
 canplay 瀏覽器能夠播放媒體,但估計以當前播放速率不能直接將媒體播完,播放期間需要緩沖
 canplaythrough 瀏覽器能夠播放媒體,但估計以當前播放速率能將媒體播完,不再需要緩沖
 seeking Seeking變為true,表示瀏覽器正在請求數據
 seeked Seeking屬性變為false,表面瀏覽器停止請求數據
 timeupdate 當前播放位置發生改變,可能是播放過程中的自然改變,也可能是人為改變,或由于播放不能連續而發生的跳變。
 ended 播放結束后停止播放
 ratechange DefaultplaybackRate屬性或playbackRate屬性發生改變
 durationchange 播放時長發生改變
 volumechange volume屬性或muted屬性發生改變


下面我們來看個demo,在播放過程中會經常觸發timeupdate事件來通知當前播放位置的改變,我們下面來看看timeupdate事件來顯示當前的播放進度。

HTML代碼如下:

<video id="video" controls width=640 height=360 autoplay loop="loop"></video>
<br/>
視頻地址:<input type="text" id="videoUrl"/>
<input id="playButton" type="button" onclick="playOrPauseVideo()" value="播放"/>
<span id="time"></span>

JS代碼如下:

function playOrPauseVideo(){
    var videoUrl = document.getElementById("videoUrl").value;
    var video = document.getElementById("video");
    //使用事件監聽方式撲捉事件
    video.addEventListener('timeupdate',function(){
        var timedisplay = document.getElementById("time");
        // 使用秒數來顯示當前播放進度
        timedisplay.innerHTML = Math.floor(video.currentTime) + "/" + Math.floor(video.duration) + "(秒)";
        },false);
    if(video.paused) {
        if(videoUrl != video.src) {
            video.src = videoUrl;
            video.load();
        }else {
            video.play();
        }
        document.getElementById("playButton").value = "暫停";
        }else {
            video.pause();
            document.getElementById("playButton").value = "播放";
        }
    }
返回頂部
亚洲国产精品人久久,亚洲va国产日韩欧美精品色婷婷,久久久久88色偷偷,免费人成黄页在线观看国际
91麻豆精品国产91久久久使用方法 | 亚洲午夜久久久久久久久电影院 | 一本到不卡精品视频在线观看| 欧美日韩小视频| 国产人成亚洲第一网站在线播放| 国产精品免费视频网站| 日本欧美加勒比视频| 欧美一区二区三区免费在线看| 中国av一区二区三区| 成人国产在线观看| 久久免费美女视频| 成人av在线播放网站| 中文字幕色av一区二区三区| 成人一级片在线观看| 一区二区三区四区不卡在线| 欧美日韩高清影院| 色婷婷精品久久二区二区蜜臀av | 成人精品免费视频| 丝瓜av网站精品一区二区| 国产女主播视频一区二区| 7777精品伊人久久久大香线蕉的 | 日韩av中文在线观看| 国产精品白丝av| 奇米色一区二区| 欧美精品电影在线播放| 亚洲综合无码一区二区| 91久久一区二区| 国产一区二区三区久久久| 久久狠狠亚洲综合| 天天av天天翘天天综合网| 欧美精品久久99久久在免费线| 亚洲综合色噜噜狠狠| 亚洲大尺度视频在线观看| 欧美日韩亚洲综合在线| 亚洲尤物在线视频观看| 久久综合国产精品| 成人网页在线观看| 毛片基地黄久久久久久天堂| 欧美国产一区在线| 色综合久久精品| 在线观看不卡一区| 欧美日韩五月天| 国产综合久久久久影院| 亚洲综合久久久| 精品欧美一区二区久久 | 在线亚洲一区观看| 国产午夜精品一区二区三区视频| 99久久99久久精品免费看蜜桃| 亚洲一区二区三区四区在线观看| 日韩av一区二区在线影视| 色天天综合久久久久综合片| 精品av久久707| 丁香天五香天堂综合| 国产视频一区在线观看| 久久国产综合精品| 三级在线观看一区二区| 中文字幕va一区二区三区| 欧美亚洲尤物久久| 欧美日韩国产综合视频在线观看 | 不卡一卡二卡三乱码免费网站| 粉嫩一区二区三区在线看| 精品国产91乱码一区二区三区 | 久久先锋影音av| 国产精品妹子av| 自拍偷自拍亚洲精品播放| 91麻豆精品在线观看| 日韩欧美123| 日韩精品一区二区三区视频在线观看| 日韩高清一级片| 国产精品看片你懂得| 精品久久久网站| 激情综合五月天| 日韩国产高清影视| 国产一区二区在线视频| 欧美巨大另类极品videosbest | 日产精品久久久久久久性色| 4438x成人网最大色成网站| 国产一区欧美日韩| 日韩一区在线免费观看| 午夜欧美2019年伦理 | 99久久er热在这里只有精品15 | 国产精品天干天干在线综合| 在线免费观看视频一区| 风流少妇一区二区| 91精品国产综合久久久久久久| 洋洋av久久久久久久一区| 欧美色中文字幕| 亚洲欧美一区二区三区极速播放 | 国产日韩成人精品| 一区二区三区欧美久久| 日韩亚洲欧美在线| 日本视频一区二区| 国产丝袜欧美中文另类| 久久色.com| 中文字幕二三区不卡| 国产精品天天看| 亚洲蜜臀av乱码久久精品| 香蕉av福利精品导航| 精品国免费一区二区三区| 国产精品中文有码| 国产精品一二三在| 欧美影片第一页| 免费高清在线一区| 日本一区二区三区免费乱视频| 欧美色精品天天在线观看视频| 中文字幕一区二区三| 麻豆传媒一区二区三区| 91精品婷婷国产综合久久性色| 国产精品天美传媒沈樵| 国产精品18久久久久| 丁香婷婷综合色啪| 中文字幕一区二区三区av| 91精品国产综合久久福利软件 | 欧美在线视频你懂得| 国产精品亚洲第一| 免费成人在线视频观看| 麻豆精品一区二区综合av| 亚洲女人的天堂| 毛片av一区二区三区| 欧美日韩亚洲国产综合| 中文字幕亚洲欧美在线不卡| 蜜臂av日日欢夜夜爽一区| 欧美一区二区三区在线看| 国产日韩亚洲欧美综合| 国产精品免费aⅴ片在线观看| 久久精品网站免费观看| 日韩精品一区在线| 国产一区激情在线| 国内精品久久久久影院色| 中文字幕视频一区二区三区久| 美女一区二区视频| 国产欧美精品日韩区二区麻豆天美| 成人理论电影网| 亚洲精品国产第一综合99久久| 一本一本大道香蕉久在线精品| 国产精品剧情在线亚洲| 韩日欧美一区二区三区| 欧美aaaaa成人免费观看视频| 亚洲国产一区二区三区| 精品国产制服丝袜高跟| 欧美日韩中文另类| 欧美日韩视频不卡| 韩国在线一区二区| 97se亚洲国产综合自在线不卡| 欧美精品1区2区| 欧美日韩情趣电影| 色女孩综合影院| 精品一区二区三区久久久| 日韩亚洲欧美综合| 亚洲一区二区三区自拍| 亚洲最大色网站| 精品亚洲成a人在线观看| 色视频欧美一区二区三区| 9191精品国产综合久久久久久| 日韩成人一级大片| 亚洲精品久久嫩草网站秘色| 国产成人精品免费一区二区| 丁香另类激情小说| 欧美成人性战久久| av一区二区三区黑人| 99久久久精品免费观看国产蜜| 国产·精品毛片| 日产国产欧美视频一区精品| 国产婷婷一区二区| 99久久国产综合精品女不卡| 亚洲午夜三级在线| a在线欧美一区| 亚洲精品视频在线看| 国产成人在线视频网址| 欧美偷拍一区二区| 美女mm1313爽爽久久久蜜臀| 国产麻豆日韩欧美久久| 欧美大肚乱孕交hd孕妇| 亚洲一区二区五区| 一级特黄大欧美久久久| 在线精品视频免费播放| 中文字幕免费在线观看视频一区| 国产精品乱码妇女bbbb| 日韩一区二区三区av| 日韩视频免费直播| 成人天堂资源www在线| 欧美精品在欧美一区二区少妇| 乱一区二区av| 日韩欧美国产wwwww| 国产成人在线电影| 亚洲国产精品二十页| 国产精品福利影院| 精品黑人一区二区三区久久| 国产精品一区在线观看乱码| 1024成人网色www| 国产精品丝袜在线| 美女脱光内衣内裤视频久久网站 | 国产伦精品一区二区三区免费迷| 国产伦精品一区二区三区视频青涩| 97精品电影院| 中文字幕精品在线不卡| 久久亚洲一区二区三区四区| 欧美人与禽zozo性伦| 欧美xxxxx牲另类人与| 成人开心网精品视频|