主頁 > 知識庫 > HTML5 Video/Audio播放本地文件示例介紹

HTML5 Video/Audio播放本地文件示例介紹

熱門標簽:四川移動電銷外呼客戶管理系統(tǒng) 智能芯電話機器人 咸陽穩(wěn)定外呼系統(tǒng)軟件 臨海地圖標注app 400開頭的電話好申請不 怎么做百度地圖標注 地圖標注柱狀圖 百度地圖標注為什么總是封號 小朱地圖標注

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

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

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

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

代碼實例如下:

復制代碼
代碼如下:

<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上應該存在一定的兼容性問題(據(jù)我所知IE8及以前的版本肯定是不能工作的),因為IE對HTML5的支持不好,不知道IE10有沒有實現(xiàn)相關(guān)的API。

標簽:山南 黃石 陜西 黃石 南平 公主嶺 平頂山

巨人網(wǎng)絡(luò)通訊聲明:本文標題《HTML5 Video/Audio播放本地文件示例介紹》,本文關(guān)鍵詞  HTML5,Video,Audio,播放,本地,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《HTML5 Video/Audio播放本地文件示例介紹》相關(guān)的同類信息!
  • 本頁收集關(guān)于HTML5 Video/Audio播放本地文件示例介紹的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章