HTML5 Audio/Video 標簽,屬性,方法,事件匯總


<audio> 標簽屬性:

  • src:音樂的URL
  • preload:預加載
  • autoplay:自動播放
  • loop:循環播放
  • controls:瀏覽器自帶的控制條
Html代碼    收藏代碼
  1. <audio id="media" src="http://www.abc.com/test.mp3" controls></audio>  
 

<video> 標簽屬性:

  • src:視頻的URL
  • poster:視頻封面,沒有播放時顯示的圖片
  • preload:預加載
  • autoplay:自動播放
  • loop:循環播放
  • controls:瀏覽器自帶的控制條
  • width:視頻寬度
  • height:視頻高度
Html代碼    收藏代碼
  1. <video id="media" src="http://www.abc.com/test.mp4" controls width="400px" heigt="400px"></video>  
 

獲取HTMLVideoElement和HTMLAudioElement對象

 

Js代碼    收藏代碼
  1. //audio可以直接通過new創建對象  
  2. Media = new Audio("http://www.abc.com/test.mp3");  
  3. //audio和video都可以通過標簽獲取對象  
  4. Media = document.getElementById("media");  
 

 

Media方法和屬性:

HTMLVideoElement 和 HTMLAudioElement 均繼承自 HTMLMediaElement

 

Js代碼    收藏代碼
  1. //錯誤狀態  
  2.    Media.error; //null:正常  
  3.    Media.error.code; //1.用戶終止 2.網絡錯誤 3.解碼錯誤 4.URL無效  
  4.   
  5. //網絡狀態  
  6.    Media.currentSrc; //返回當前資源的URL  
  7.    Media.src = value; //返回或設置當前資源的URL  
  8.    Media.canPlayType(type); //是否能播放某種格式的資源  
  9.    Media.networkState; //0.此元素未初始化  1.正常但沒有使用網絡  2.正在下載數據  3.沒有找到資源  
  10.    Media.load(); //重新加載src指定的資源  
  11.    Media.buffered; //返回已緩沖區域,TimeRanges  
  12.    Media.preload; //none:不預載 metadata:預載資源信息 auto:  
  13.   
  14. //准備狀態  
  15.    Media.readyState;    //1:HAVE_NOTHING 2:HAVE_METADATA 3.HAVE_CURRENT_DATA 4.HAVE_FUTURE_DATA 5.HAVE_ENOUGH_DATA  
  16.    Media.seeking; //是否正在seeking  
  17.   
  18. //回放狀態  
  19.    Media.currentTime = value; //當前播放的位置,賦值可改變位置  
  20.    Media.startTime; //一般為0,如果為流媒體或者不從0開始的資源,則不為0  
  21.    Media.duration; //當前資源長度 流返回無限  
  22.    Media.paused; //是否暫停  
  23.    Media.defaultPlaybackRate = value;//默認的回放速度,可以設置  
  24.    Media.playbackRate = value;//當前播放速度,設置后馬上改變  
  25.    Media.played; //返回已經播放的區域,TimeRanges,關於此對象見下文  
  26.    Media.seekable; //返回可以seek的區域 TimeRanges  
  27.    Media.ended; //是否結束  
  28.    Media.autoPlay;  //是否自動播放  
  29.    Media.loop;  //是否循環播放  
  30.    Media.play();    //播放  
  31.    Media.pause();   //暫停  
  32.   
  33. //控制  
  34.    Media.controls;//是否有默認控制條  
  35.    Media.volume = value; //音量  
  36.    Media.muted = value; //靜音  
  37.   
  38.    //TimeRanges(區域)對象  
  39.    TimeRanges.length; //區域段數  
  40.    TimeRanges.start(index) //第index段區域的開始位置  
  41.    TimeRanges.end(index) //第index段區域的結束位置  
 

事件:

Js代碼    收藏代碼
  1.        eventTester = function(e){  
  2.     Media.addEventListener(e,function(){  
  3.         console.log((new Date()).getTime(),e);  
  4.     });  
  5. }  
  6.   
  7. eventTester("loadstart");   //客戶端開始請求數據  
  8. eventTester("progress");    //客戶端正在請求數據  
  9. eventTester("suspend");     //延遲下載  
  10. eventTester("abort");       //客戶端主動終止下載(不是因為錯誤引起),  
  11. eventTester("error");       //請求數據時遇到錯誤  
  12. eventTester("stalled");     //網速失速  
  13. eventTester("play");        //play()和autoplay開始播放時觸發  
  14. eventTester("pause");       //pause()觸發  
  15. eventTester("loadedmetadata");  //成功獲取資源長度  
  16. eventTester("loadeddata");  //  
  17. eventTester("waiting");     //等待數據,並非錯誤  
  18. eventTester("playing");     //開始回放  
  19. eventTester("canplay");     //可以播放,但中途可能因為加載而暫停  
  20. eventTester("canplaythrough"); //可以播放,歌曲全部加載完畢  
  21. eventTester("seeking");     //尋找中  
  22. eventTester("seeked");      //尋找完畢  
  23. eventTester("timeupdate");  //播放時間改變  
  24. eventTester("ended");       //播放結束  
  25. eventTester("ratechange");  //播放速率改變  
  26. eventTester("durationchange");  //資源長度改變  
  27. eventTester("volumechange");    //音量改變  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM