<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
        主站蜘蛛池模板: 羞羞网站在线免费观看| 亚洲欧洲国产精品久久| 香蕉视频免费在线| 拔擦拔擦8x华人免费久久| 亚洲国产精品综合久久20| 很黄很黄的网站免费的| 亚洲娇小性xxxx| 男女交性永久免费视频播放| 国产成人精品日本亚洲网址 | 亚洲国产欧洲综合997久久| 丁香花在线观看免费观看| 亚洲欧美一区二区三区日产| 国产高清在线免费视频| 激情吃奶吻胸免费视频xxxx| 亚洲欧洲久久av| 日日麻批免费40分钟无码| 亚洲国产品综合人成综合网站| 国产免费丝袜调教视频| 久久久久久亚洲av无码蜜芽| 亚洲AV无码一区二区三区在线观看| 好猛好深好爽好硬免费视频| 亚洲国产成人久久综合一| 99久久免费国产香蕉麻豆| 亚洲AV成人无码网天堂| 亚洲午夜激情视频| 久久国产乱子伦免费精品| 亚洲av无码兔费综合| 亚洲中文字幕无码一久久区| 最近中文字幕无免费| 极品色天使在线婷婷天堂亚洲| 亚洲精品~无码抽插| 色窝窝免费一区二区三区| 免费一区二区三区在线视频| 久久青青草原亚洲av无码app | 久久青青草原亚洲av无码| 四虎国产成人永久精品免费| 亚洲欧洲无码AV不卡在线| 国产精品久久久亚洲| 在线a毛片免费视频观看| 国产婷婷成人久久Av免费高清| 亚洲不卡影院午夜在线观看|