溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

HTML5中Video/Audio標(biāo)簽實(shí)現(xiàn)播放本地文件的方法

發(fā)布時(shí)間:2021-02-26 10:02:34 來源:億速云 閱讀:842 作者:清風(fēng) 欄目:web開發(fā)

這篇“HTML5中Video/Audio標(biāo)簽實(shí)現(xiàn)播放本地文件的方法”文章,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要參考一下,對(duì)于“HTML5中Video/Audio標(biāo)簽實(shí)現(xiàn)播放本地文件的方法”,小編整理了以下知識(shí)點(diǎn),請(qǐng)大家跟著小編的步伐一步一步的慢慢理解,接下來就讓我們進(jìn)入主題吧。

html有什么特點(diǎn)

1、簡易性:超級(jí)文本標(biāo)記語言版本升級(jí)采用超集方式,從而更加靈活方便,適合初學(xué)前端開發(fā)者使用。 2、可擴(kuò)展性:超級(jí)文本標(biāo)記語言的廣泛應(yīng)用帶來了加強(qiáng)功能,增加標(biāo)識(shí)符等要求,超級(jí)文本標(biāo)記語言采取子類元素的方式,為系統(tǒng)擴(kuò)展帶來保證。  3、平臺(tái)無關(guān)性:超級(jí)文本標(biāo)記語言能夠在廣泛的平臺(tái)上使用,這也是萬維網(wǎng)盛行的一個(gè)原因。 4、通用性:HTML是網(wǎng)絡(luò)的通用語言,它允許網(wǎng)頁制作人建立文本與圖片相結(jié)合的復(fù)雜頁面,這些頁面可以被網(wǎng)上任何其他人瀏覽到,無論使用的是什么類型的電腦或?yàn)g覽器。

在得到用戶允許后我們還是可以播放本地文件的,在頁面中插入一個(gè)input節(jié)點(diǎn)并指定type為file,然后把該url設(shè)置為audio或video的src值即可

這段時(shí)間經(jīng)??吹介_發(fā)者在反復(fù)詢問同一個(gè)問題,為什么通過設(shè)置src屬性,不能播放本地的媒體文件?例如video.src=”D:\test.mp4”。

這是因?yàn)闉g覽器中的JavaScript不能直接直接訪問本地資源(例如文件系統(tǒng),攝像頭,麥克風(fēng)等),除非事先得到了用戶的允許。瀏覽器之所以進(jìn)行該限制也是很有必要的,試想一下,如果JavaScript能夠肆無忌憚的訪問本地的文件系統(tǒng),那么竊取用戶隱私數(shù)據(jù)就變得輕而易舉了,當(dāng)用戶訪問網(wǎng)絡(luò)上的某個(gè)網(wǎng)頁時(shí),不知不覺中自己機(jī)器上保存的信用卡卡號(hào),密碼,公司的秘密文件等隱私文件或許已經(jīng)被惡意的JavaScript程序上傳到了遠(yuǎn)方的服務(wù)器上,這對(duì)用戶來說是不可容忍的。

在得到用戶允許后我們還是可以播放本地文件的,下面介紹一種方法。

在頁面中插入一個(gè)input節(jié)點(diǎn)并指定type為file,如果需要播放多個(gè)文件,可以添加屬性multiple。注冊(cè)文件節(jié)點(diǎn)被更新時(shí)的回調(diào)函數(shù),在回調(diào)函數(shù)中調(diào)用URL.createObjectURL函數(shù)來獲取剛選擇文件的url,然后把該url設(shè)置為audio或video的src值即可。

代碼實(shí)例如下:

<html>  
<body>  
<input type="file" id="file" onchange="onInputFileChange()">  
<audio id="audio_id" controls autoplay loop>Your browser can't support HTML5 Audio</audio>  
<script>  
function onInputFileChange() {  
   var file = document.getElementById('file').files[0];  
   var url = URL.createObjectURL(file);  
   console.log(url);  
   document.getElementById("audio_id").src = url;  
}  
</script>  
</body>  
</html>

該代碼在Chrome 30和Firefox 24上測試通過,在IE上應(yīng)該存在一定的兼容性問題(據(jù)我所知IE8及以前的版本肯定是不能工作的),因?yàn)镮E對(duì)HTML5的支持不好,不知道IE10有沒有實(shí)現(xiàn)相關(guān)的API。

以上是“HTML5中Video/Audio標(biāo)簽實(shí)現(xiàn)播放本地文件的方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI