<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        HTML5無插件多媒體Media-音頻audio與視頻video的詳細介紹

        來源:懂視網 責編:小采 時間:2020-11-27 15:11:51
        文檔

        HTML5無插件多媒體Media-音頻audio與視頻video的詳細介紹

        HTML5無插件多媒體Media-音頻audio與視頻video的詳細介紹:音頻與視頻現在已經變得越來越流行 各個網站為了保證跨瀏覽器的兼容性 仍然選擇使用flash(源碼截自優酷)多媒體標簽使用HTML5增加了audio與video兩個多媒體標簽 兼容性還不錯,低版本IE不支持 可以使我們不需要使用任何瀏覽器插件就能夠插入音頻與視頻控件
        推薦度:
        導讀HTML5無插件多媒體Media-音頻audio與視頻video的詳細介紹:音頻與視頻現在已經變得越來越流行 各個網站為了保證跨瀏覽器的兼容性 仍然選擇使用flash(源碼截自優酷)多媒體標簽使用HTML5增加了audio與video兩個多媒體標簽 兼容性還不錯,低版本IE不支持 可以使我們不需要使用任何瀏覽器插件就能夠插入音頻與視頻控件
        音頻與視頻現在已經變得越來越流行
        各個網站為了保證跨瀏覽器的兼容性
        仍然選擇使用flash


        (源碼截自優酷)

        多媒體標簽

        使用

        HTML5增加了audio與video兩個多媒體標簽
        兼容性還不錯,低版本IE不支持
        可以使我們不需要使用任何瀏覽器插件就能夠插入音頻與視頻控件
        而且非常的簡單


        (源碼截自Bilibili)

        元素用法如下:

        <audio src="media/xi-Halcyon.mp3" id="demoAudio">不支持H5-audio</audio>
        <video src="media/Animation.mp4" id="demoVideo">不支持H5-video</video>

        標簽中內容如果瀏覽器不支持該標簽就會顯示
        當然使用這兩個元素的時候
        最起碼要添加src屬性,屬性值就是資源的url

        但是每個瀏覽器由于版權問題支持的媒體格式也不同
        所以就可以使用下面的方式

        <audio id="demoAudio">
         <source src="media/xi-Halcyon.mp3">
         <source src="media/xi-Halcyon.ogg"> ...
         不支持H5-audio
        </audio>
        
        <video id="demoVideo">
         <source src="media/Animation.mp4">
         <source src="media/Animation.webm"> ...
         不支持H5-video
        </video>

        這樣指定不同的資源格式
        也保證了各個瀏覽器的兼容性

        屬性

        audio和video標簽除了src外
        還有一些公有的屬性

        屬性描述
        autoplay設置該屬性后,音/視頻資源就緒后立即播放
        controls設置該屬性后,則顯示瀏覽器播放控制控件
        loop設置該屬性后,則音/視頻結束后重新循環開始播放
        preload設置該屬性后,則音/視頻在頁面加載時進行加載,并預備播放(使用autoplay會忽略該屬性)


        前三個屬性屬性名與屬性值相同,直接添加屬性名即可
        preload有如下屬性值

      1. none 不加載數據

      2. metedata 僅加載元數據(時長、比特率、幀大小等)

      3. auto 瀏覽器加載它認為適量的媒體內容

      4. 比如想要在瀏覽器添加一段音樂
        并且加載后立即播放,循環播放
        使用瀏覽器的播放控件

        <audio src="media/xi-Halcyon.mp3" id="demoVideo" autoplay controls loop></audio>

        控件的樣式各個瀏覽器都不一樣
        隨著瀏覽器版本的更新,可能還會更新樣式


        video元素還有獨有的屬性poster
        屬性值是圖片資源的url
        用來設置視頻播放前的一張占位圖片

        <video src="media/Animation.mp4" id="demoVideo" width="500" height="400" poster="images/preimg.jpg" controls></video>


        點擊播放后,視頻正常播放

        腳本化音視頻

        元素

        使用js獲取dom節點就很簡單了

        var a = document.getElementById('demoAudio');var v = document.getElementById('demoVideo');

        類似于image的Image構造函數
        Audio也可以通過類似的方式創建(Video不可以)
        區別在于Image創建的圖片是要插入文檔的
        但是Audio不需要

        var a = new Audio('song.mp3');

        然后可以為它添加autoplay、loop等屬性
        然后添加到頁面

        接口

        在獲取的DOM節點上可以使用瀏覽器提供的接口屬性和方法
        常用的屬性、方法如下

      5. currentSrc 媒體數據的URL地址

      6. volume 播放音量

      7. 介于0~1(注意超范圍會報錯),默認1最大音量

      8. muted 是否靜音

      9. 設置true進入靜音模式

      10. playbackRate 媒體播放速度

      11. 默認1.0常速,>1快進,<1慢放(負值表回放但無瀏覽器實現此功能)

      12. defaultPlaybackRate 媒體默認的播放速度

      13. currentTime 當前播放時間(單位s)

      14. duration 媒體時長(單位s)

      15. play() 播放音/視頻

      16. pause() 暫停音/視頻

      17. load() 重新加載音/視頻(通常用于修改元素屬性后)


      18. 除此之外還有

      19. played 已經播放的時間段

      20. buffered 已經緩沖的時間段

      21. seekable 用戶可以跳轉的時間段

      22. 它們都是TimeRanges對象
        每個對象都有一個length屬性(表示當前時間段)
        以及start()和end()方法(返回當前時間段的起始時間點和結束時間點,單位s)
        start()和end()都有一個數字參數,表示第一個時間段
        確定當前緩存內容百分比:

        var percentLoaded = Math.floor(song.buffered.end(0)/song.duration*100)

        下面三個布爾屬性表示媒體播放器的狀態

      23. paused 是否暫停

      24. seeking 是否正調到一個新的播放點

      25. ended 是否播放結束并停止


      26. 并不是所有瀏覽器都支持video和audio的所有編解碼器
        canPlayType()方法就是用來鑒定時候支持某一格式的媒體資源
        返回字符串maybe、probably或空字符串
        如果只傳入MIME類型,則返回maybe
        如果同時傳入MIME類型和編解碼器,則返回probably(可能性增加了)
        只是因為媒體文件只不過是音/視頻的容器
        真正決定文件能否播放的還得是編碼格式

        console.log(a.canPlayType('audio/mp4')); 
        //maybeconsole.log(a.canPlayType('audio/mp4;codecs="mp4a.40.2"')); 
        //probably

        下面的狀態位屬性也了解一下

      27. readyState 就緒狀態

      28. 0 = HAVE_NOTHING - 沒有關于音/視頻是否就緒的信息

      29. 1 = HAVE_METADATA - 關于音頻/視頻就緒的元數據

      30. 2 = HAVE_CURRENT_DATA - 關于當前播放位置的數據是可用的,但沒有足夠的數據來播放下一幀/ms

      31. 3 = HAVE_FUTURE_DATA - 當前及至少下一幀的數據可用

      32. 4 = HAVE_ENOUGH_DATA - 可用數據足以開始播放

      33. netWorkState 網絡狀態

      34. 0 = NETWORK_EMPTY - 音/視頻尚未初始化

      35. 1 = NETWORK_IDLE - 音/視頻是活動的且已選取資源,但并未使用網絡

      36. 2 = NETWORK_LOADING - 瀏覽器正在下載數據

      37. 3 = NETWORK_NO_SOURCE - 未找到音/視頻來源

      38. error.code 錯誤狀態

      39. 1 = MEDIA_ERR_ABORTED - 取回過程被用戶中止

      40. 2 = MEDIA_ERR_NETWORK - 當下載時發生錯誤

      41. 3 = MEDIA_ERR_DECODE - 當解碼時發生錯誤

      42. 4 = MEDIA_ERR_SRC_NOT_SUPPORTED - 不支持音頻/視頻

      43. 事件

        除了接口屬性方法以外
        還有必不可少的事件模型
        如果我們不想使用瀏覽器的控件而是定義自己的播放控制組件
        就要使用這套事件了

      44. play 播放時觸發

      45. pause 暫停時觸發

      46. loadedmetadata 瀏覽器獲取完媒體元數據時觸發

      47. loadeddata 瀏覽器加載完當前幀媒體數據時觸發

      48. ended 播放結束后停止時觸發

      49. 初次之外還有很多事件
        很多不常用
        在w3c截了一張圖


        通過接口與事件
        也可以簡單的實現自己簡陋的音樂播放器

        <button id="btn">播放</button><span id="cur">0s</span>/<span id="dur">0s</span><br>音量:<input type="range" id="vol">
        var audio = new Audio('media/xi-Halcyon.mp3');
        var btn = document.getElementById('btn');
        var vol = document.getElementById('vol');
        var cur = document.getElementById('cur');
        var dur = document.getElementById('dur');var state = 'pause';
        
        vol.value = 100;
        audio.onloadeddata = function(){
         dur.textContent = Math.floor(audio.duration) + 's';
        }
        
        setInterval(function(){
         cur.textContent = Math.floor(audio.currentTime) + 's';
        }, 200);
        
        btn.onclick = function(){
         if(state === 'play'){
         state = 'pause';
         btn.textContent = '播放';
         audio.pause();
         }else{
         state = 'play';
         btn.textContent = '暫停';
         audio.play();
         }
        }
        
        
        vol.oninput = function(){
         audio.volume = vol.value/100;
        }

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        HTML5無插件多媒體Media-音頻audio與視頻video的詳細介紹

        HTML5無插件多媒體Media-音頻audio與視頻video的詳細介紹:音頻與視頻現在已經變得越來越流行 各個網站為了保證跨瀏覽器的兼容性 仍然選擇使用flash(源碼截自優酷)多媒體標簽使用HTML5增加了audio與video兩個多媒體標簽 兼容性還不錯,低版本IE不支持 可以使我們不需要使用任何瀏覽器插件就能夠插入音頻與視頻控件
        推薦度:
        標簽: 視頻 插件 audio
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 久9热免费精品视频在线观看| xxxx日本在线播放免费不卡| 免费无遮挡无码永久视频| 亚洲伊人成无码综合网 | 日本永久免费a∨在线视频| 国产片免费福利片永久| 免费一级全黄少妇性色生活片| 亚洲一本大道无码av天堂| 国产精品极品美女自在线观看免费| 亚洲一区日韩高清中文字幕亚洲| 国产线视频精品免费观看视频| 亚洲av一综合av一区| 91九色老熟女免费资源站| 亚洲午夜久久久精品电影院| 最近2019中文字幕免费看最新| 亚洲Av永久无码精品黑人| 免费在线黄色网址| 久草免费福利视频| 亚洲第一页在线观看| 女人张开腿等男人桶免费视频| 看亚洲a级一级毛片| 亚洲愉拍99热成人精品热久久 | 中出五十路免费视频| 亚洲第一中文字幕| 韩国免费一级成人毛片| 亚洲美国产亚洲AV| 亚洲黄黄黄网站在线观看| 暖暖在线视频免费视频| 亚洲91精品麻豆国产系列在线| 亚洲A∨午夜成人片精品网站 | 国内精自视频品线六区免费 | 亚洲激情视频在线观看| 黄色成人网站免费无码av| fc2免费人成在线| 亚洲国产精品综合久久久| 免费成人黄色大片| 免费观看激色视频网站bd| 美女视频黄.免费网址| 亚洲视频一区在线播放| 亚洲国产精品狼友中文久久久| 在线免费中文字幕|