最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

  發(fā)布時(shí)間:2013-11-18 17:13:11   作者:佚名   我要評(píng)論
在得到用戶允許后我們還是可以播放本地文件的,在頁(yè)面中插入一個(gè)input節(jié)點(diǎn)并指定type為file,然后把該url設(shè)置為audio或video的src值即可

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

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

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

在頁(yè)面中插入一個(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ù)來(lái)獲取剛選擇文件的url,然后把該url設(shè)置為audio或video的src值即可。

代碼實(shí)例如下:

復(fù)制代碼
代碼如下:

<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上測(cè)試通過(guò),在IE上應(yīng)該存在一定的兼容性問(wèn)題(據(jù)我所知IE8及以前的版本肯定是不能工作的),因?yàn)镮E對(duì)HTML5的支持不好,不知道IE10有沒有實(shí)現(xiàn)相關(guān)的API。

相關(guān)文章

最新評(píng)論

调兵山市| 深泽县| 崇礼县| 石棉县| 独山县| 礼泉县| 垦利县| 元江| 勃利县| 抚远县| 颍上县| 蚌埠市| 通江县| 湖南省| 新津县| 上杭县| 涪陵区| 林甸县| 平山县| 星子县| 樟树市| 红桥区| 东兰县| 自贡市| 威远县| 泸溪县| 宁海县| 万年县| 巴中市| 迭部县| 宜宾市| 大洼县| 三门峡市| 大石桥市| 宝鸡市| 根河市| 根河市| 游戏| 烟台市| 黑龙江省| 元朗区|