亚洲免费不卡_在线视频精品_国产尤物精品_久久久久网址_久久精品91_欧美va天堂在线_狠狠入ady亚洲精品_亚洲午夜精品福利_国产精品草草_午夜精品久久99蜜桃的功能介绍

使用HTML5捕捉音頻與視頻信息概述及實例
來源:易賢網 閱讀:1950 次 日期:2016-07-13 14:54:44
溫馨提示:易賢網小編為您整理了“使用HTML5捕捉音頻與視頻信息概述及實例”,方便廣大網友查閱!

本文概述

長期以來,音頻與視頻信息的捕捉一直是Web開發中的一個難點。許多年來,我們一直依賴瀏覽器插件來實現這個需求。

在HTML 5中,出現了許多可以訪問硬件設備的API,例如訪問GPS設備的Geolocation API、訪問accelerometer設備的Orientation API、訪問GPU設備的WebGL API、訪問音頻播放設備的Web Audio API等等。這些API是非常強大的,因為開發者可以直接通過編寫JavaSccript腳本代碼來訪問底層硬件設備。

本文介紹一種新的API,該API通過使用navigatior.getUserMedia()方法來讓Web應用程序擁有訪問用戶攝像頭與麥克風設備的能力。

捕捉媒體數據的技術發展歷史

在過去幾年里,開始出現了在Web應用程序中訪問客戶端本地設備的需求,因此,W3C組織決定組織一個DAP(Device APIS POLICY)工作小組,來為該需求的實現制定一個統一的標準。

接下來讓我們來看看在2011年發生了哪些事情:

在HTML頁面文件中實現媒體數據的捕捉

DAP工作小組的第一個要制定的標準就是如何在Web應用程序的HTML頁面中實現媒體數據的捕捉。他們決定重載類型為file的input元素(<input type="file">),并且為accept屬性添加一個新的屬性值。

如果開發者想實現用戶通過攝像頭進行拍照的功能,可以書寫如下所示的代碼。

代碼如下:

<input type="file" accept="image/*;capture=camera">

錄制視頻數據與音頻數據的代碼與之類似:

代碼如下:

<input type="file" accept="video/*;capture=camcorder">

<input type="file" accept="audio/*;capture=microphone">

在這些代碼中,只需使用file控件(類型為file的input元素)即可完成拍照或錄制媒體數據的功能。但是在因為這些代碼中尚缺乏一些實現與之相關的需求(例如在canvas元素中渲染捕捉到的視頻數據,或者對捕捉到的視頻數據應用WEBGL濾鏡)的能力,所以沒有得到開發者的廣泛應用。

支持瀏覽器:

Android 3.0瀏覽器

Chrome for Android (0.16)

Firefox Mobile 10.0

device元素

如果使用file控件,則捕捉媒體數據后對其進行處理的能力是非常有限的,所以出現了一種新的可支持任何設備的標準。該標準使用device元素。

Opera瀏覽器是第一個通過device元素實現視頻數據捕捉的瀏覽器。幾乎在同一天,WhatWG組織決定使用navigator.getUserMedia()方法來捕捉媒體數據。一個星期后,Opera推出一個新的支持navigator.getUserMedia()方法的瀏覽器。后來,Microsoft工具推出支持該方法的IE 9瀏覽器。

device元素的使用方法如下所示。

代碼如下:

<device type="media" onchange="update(this.data)"></device>

<video autoplay></video>

<script>

function update(stream) {

document.querySelector('video').src = stream.url;

}

</script>

支持瀏覽器:

不幸的是,目前為止尚沒有一個正式版的瀏覽器中支持device元素。

WEBRTC

最近,由于WebRTC(Web Real Time Communication:Web實時通信)API的出現,媒體數據捕捉技術又有了一個很大的發展。Google、Opera、Mozilla等公司均正在努力將其實現在自己的瀏覽器中。

WebRTC API是一個與getUserMedia方法緊密相關的API,它提供一種訪問客戶端本地的攝像頭或麥克風設備的能力。

支持瀏覽器:

目前為止,在Chrome 18版瀏覽器中,在chrome://flags頁面中進行設置后可使用WebRTC,在Chrome 21版本的瀏覽器中,該API被默認使用,不再需要設置。在Opera 12以上與Firefox 17版本的瀏覽器中默認支持WebRTC API。

使用getUserMedia方法

通過使用getUserMedia方法,我們可以不依靠插件而直接訪問客戶端本地的攝像頭設備與麥克風設備。

檢測瀏覽器支持

可以通過如下所示的方法來檢測瀏覽器是否支持getUserMedia方法。

代碼如下:

function hasGetUserMedia() {

//請注意:在Opera瀏覽器中不使用前綴

return !!(navigator.getUserMedia || navigator.webkitGetUserMedia ||

navigator.mozGetUserMedia || navigator.msGetUserMedia);

}

if (hasGetUserMedia()) {

alert('您的瀏覽器支持getUserMedia方法');

}

else {

alert('您的瀏覽器不支持getUserMedia方法');

}

獲取訪問設備的權限

為了訪問客戶端攝像頭設備與麥克風設備,我們首先需要獲取權限。getUserMedia方法的第一個參數是一個用于指定媒體類型的對象。例如,當你想訪問攝像頭設備時,第一個參數應該為{video:true},為了同時訪問攝像頭設備與麥克風設備,需要使用{video:true,audio:true}參數,代碼如下所示:

代碼如下:

<video autoplay id="video"></video>

<script>

var onFailSoHard = function() {

alert('設備拒絕訪問');

};

//不使用供應商前綴

navigator.getUserMedia({video: true, audio: true}, function(localMediaStream) {

var video = document.getElementById('video');

video.src = window.URL.createObjectURL(localMediaStream);

//請注意:當使用getUserMedia方法時,在Chrome瀏覽器中不觸發onloadedmetadata事件

video.onloadedmetadata = function(e) {

//后續代碼略

};

}, onFailSoHard);

</script>

在這段代碼中,結合了video元素的使用。請注意我們沒有使用video元素的src屬性值,而是為video元素指定了一個引用媒體文件的URL地址,同時將代表了從攝像頭中所獲取到的視頻數據的LocalMediaStream對象轉換為一個Blob URL。

在這段代碼中,同時為video元素使用autoplay屬性,如果不使用該屬性,則video元素將停留在所獲取的第一幀畫面處。

請注意:在Chrome瀏覽器中,如果只使用{audio:true},則引發BUG,在Opera瀏覽器中,同樣不能使用audio元素。

如果你想讓多個瀏覽器同時支持getUserMedia方法,請使用如下所示的代碼:

代碼如下:

window.URL = window.URL || window.webkitURL;

navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia ||

navigator.mozGetUserMedia || navigator.msGetUserMedia;

var video = document.getElementById('video');

if (navigator.getUserMedia) {

navigator.getUserMedia({audio: true, video: true}, function(stream) {

video.src = window.URL.createObjectURL(stream);

}, onFailSoHard);

}

else {

alert('您的瀏覽器不支持getUserMedia方法');

}

安全性

在有些瀏覽器中,當調用getUserMedia方法時,顯示一個提示窗口,詢問用戶是否允許或拒絕訪問他們的攝像頭或麥克風。

拍照

在Canvas API中,可以使用ctx.drawImage(video,0,0)方法將video元素中的某一幀畫面輸出到canvas元素中。當然,既然我們已經將捕捉到的用戶攝像頭中的圖像信息輸出到video元素中,當然也可以將圖像信息通過video元素輸出到canvas元素中,即實現實時拍照功能,代碼如下所示。

代碼如下:

<video autoplay></video>

<img src="" id="img" ></img>

<canvas style="display:none;" id="canvas" ></canvas>

var video = document.getElementById('video');

var canvas = document.getElementById('canvas');

var ctx = canvas.getContext('2d');

var localMediaStream = null;

function snapshot() {

if (localMediaStream) {

ctx.drawImage(video, 0, 0);

document.getElementById('img').src = canvas.toDataURL('image/png');

}

}

video.addEventListener('click', snapshot, false);

//不使用供應商前綴

navigator.getUserMedia({video: true}, function(stream) {

video.src = window.URL.createObjectURL(stream);

localMediaStream = stream;

}, onFailSoHard);

應用CSS濾鏡

目前為止,可以在Chrome 18以上版本的瀏覽器中使用CSS濾鏡。

通過CSS濾鏡的使用,我們可以對video元素中捕捉的視頻添加各種圖像濾鏡效果。

代碼如下:

<style>

#video3 {

width: 307px;

height: 250px;

background: rgba(255,255,255,0.5);

border: 1px solid #ccc;

}

.grayscale {

-webkit-filter: grayscale(1);

}

.sepia {

-webkit-filter: sepia(1);

}

.blur {

-webkit-filter: blur(3px);

}

...

</style>

<video id="video" autoplay></video>

<script>

var idx = 0;

var filters = ['grayscale', 'sepia', 'blur', 'brightness', 'contrast', 'hue-rotate',

'hue-rotate2', 'hue-rotate3', 'saturate', 'invert', ''];

function changeFilter(e) {

var el = e.target;

el.className = '';

var effect = filters[idx++ % filters.length]; // loop through filters.

if (effect) {

el.classList.add(effect);

}

}

document.getElementById('video').addEventListener('click', changeFilter, false);

</script>

更多信息請查看網頁制作
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點

版權所有:易賢網

亚洲免费不卡_在线视频精品_国产尤物精品_久久久久网址_久久精品91_欧美va天堂在线_狠狠入ady亚洲精品_亚洲午夜精品福利_国产精品草草_午夜精品久久99蜜桃的功能介绍
亚洲欧美日韩国产一区二区| 噜噜噜91成人网| 亚洲毛片一区| 国产亚洲毛片在线| 欧美成人有码| 亚洲手机在线| 欧美一级播放| 在线观看一区| 久久青青草综合| 狠狠88综合久久久久综合网| 国产精品日韩一区二区三区| 午夜视频精品| 国产精品久久亚洲7777 | 美女爽到呻吟久久久久| 国模精品一区二区三区| 久久中文欧美| 欧美va亚洲va日韩∨a综合色| 性xx色xx综合久久久xx| 久久综合亚州| 亚洲伦理一区| 欧美日韩高清在线一区| 99国产精品久久久久久久| 免费亚洲婷婷| 今天的高清视频免费播放成人| 午夜在线一区| 亚洲精品乱码久久久久久蜜桃麻豆| 国产三级精品在线不卡| 国自产拍偷拍福利精品免费一 | 亚洲精品一区二区三| 亚洲欧美日韩在线观看a三区| 激情久久婷婷| 欧美人成网站| 久久日韩精品| 可以免费看不卡的av网站| 一本色道久久综合亚洲精品不| 欧美一区高清| 久久精品午夜| 免费久久99精品国产自在现线 | 久久成人一区| 一区二区精品国产| 精品999成人| 国外成人免费视频| 国产精品swag| 黄色亚洲精品| 激情综合久久| 亚洲欧洲日本一区二区三区| 亚洲私人影院| 激情综合电影网| 亚洲午夜在线| 影音先锋久久精品| 91久久精品国产91久久性色tv| 黄色精品免费| 99精品国产高清一区二区| 亚洲高清资源综合久久精品| 亚洲黄色毛片| 国产精品一区二区三区观看| 亚洲欧美电影在线观看| 久久婷婷丁香| 欧美日韩在线播放一区二区| 极品日韩久久| 亚洲理伦在线| 国产日韩欧美一区二区| 亚洲欧美日韩在线综合| 欧美~级网站不卡| 亚洲午夜精品国产| 国产精品免费看| 久久综合亚州| 亚洲精品视频啊美女在线直播| 亚洲精品孕妇| 亚洲影院免费| 国内精品久久国产| 99在线热播精品免费99热| 国产亚洲欧美另类一区二区三区| 午夜亚洲一区| 欧美日韩精品免费看| 亚洲二区视频| 久久精品毛片| 亚洲精品自在在线观看| 嫩草成人www欧美| 欧美日韩三区| 亚洲综合不卡| 激情亚洲成人| 你懂的国产精品| 国产精品久久久久久久久久妞妞| 老牛嫩草一区二区三区日本| 日韩香蕉视频| 欧美日本二区| 国产一区二区三区久久久久久久久| 亚洲欧美激情诱惑| 韩日在线一区| 久久精品国产第一区二区三区最新章节| 欧美精品色网| 久久动漫亚洲| 国产人成精品一区二区三| 欧美视频福利| 午夜性色一区二区三区免费视频 | 一区三区视频| 欧美在线影院| 噜噜噜91成人网| 国产亚洲欧美一区二区三区| 亚洲国产精品久久久久婷婷老年| 免费久久久一本精品久久区 | 狠狠色综合色区| 久久成人资源| 亚洲一区自拍| 国产麻豆日韩| 国产精品日韩久久久| 精品动漫3d一区二区三区免费| 免费一区二区三区| 亚洲精品美女久久7777777| 欧美视频不卡| 国产一区二区三区自拍| 欧美精品v日韩精品v国产精品| 久久国产主播精品| 久久激情久久| 欧美一区二区三区四区夜夜大片 | 国产视频亚洲| 国产日韩欧美一区二区| 在线视频精品| 亚洲一区欧美激情| 久久不射中文字幕| 久久久久九九九| 久久国产主播精品| 欧美激情一级片一区二区| 欧美激情综合色综合啪啪| 欧美精品99| 欧美三区在线| 亚洲国产日韩欧美一区二区三区| 伊人精品视频| 亚洲另类视频| 久久高清国产| 欧美高清不卡| 亚洲国产日本| 亚洲欧美清纯在线制服| 久久久精品日韩| 欧美日韩在线精品一区二区三区| 国语精品一区| 一本不卡影院| 久久午夜电影| 亚洲人成人一区二区三区| 国产欧美日本在线| 欧美jjzz| 中文国产一区| 午夜久久久久| 国产视频一区免费看| 模特精品在线| 在线观看视频免费一区二区三区| 国产精品社区| 欧美视频一区| 亚洲一区视频| 亚洲成人资源| 久久久福利视频| 亚洲黄色高清| 欧美日韩一区在线观看视频| 国产精品视频免费观看| 午夜久久美女| 国产精品区二区三区日本| 欧美视频成人| 性欧美videos另类喷潮| 亚洲黄色精品| 欧美日韩一区二区视频在线观看 | 欧美午夜一区| 亚洲免费网址| 在线一区亚洲| 亚洲日本欧美| 好吊色欧美一区二区三区四区| 国产精品美女xx| 在线观看亚洲视频啊啊啊啊| 欧美成人dvd在线视频| 99精品视频免费全部在线| 久久久综合香蕉尹人综合网| 99伊人成综合| 亚洲日本欧美| 亚洲国产一区二区三区a毛片 | 国产精品videosex极品| 亚洲欧美日韩精品在线| 亚洲经典在线看| 国产精品二区影院| 欧美日韩 国产精品| 国产一区二区你懂的| 亚洲日韩视频| av成人毛片| 国产欧美日韩在线播放| 亚洲二区在线| 99精品国产一区二区青青牛奶 | 欧美少妇一区| 亚洲欧美一区在线| 老司机精品导航| 噜噜噜噜噜久久久久久91| 亚洲深夜激情| 一区二区日本视频| 国产亚洲亚洲| 国产精品免费一区二区三区在线观看| 日韩香蕉视频| 国产日韩欧美一区二区| 国产精品一区二区三区四区五区 | 欧美aa国产视频| 欧美一区二区三区免费看| 久久亚裔精品欧美| 久久一区国产| 欧美女激情福利| 伊人精品在线| 国产精品乱码一区二区三区| 一区二区三区四区五区视频| 国产日韩欧美在线播放不卡| 亚洲一区在线免费| 欧美精品综合| 亚洲免费高清| 日韩午夜视频在线观看| 免费日韩一区二区| 欧美日韩免费观看一区| 日韩一区二区久久| 蜜桃av综合| 激情欧美一区二区三区| 国产精品免费区二区三区观看| 亚洲欧美bt| 国产一区日韩欧美| 国产亚洲精品久久久久婷婷瑜伽| 久久激情久久| 99精品久久| 欧美日韩成人一区二区三区| 一区二区三区国产盗摄| 久久久噜噜噜久久狠狠50岁| 在线精品亚洲| 久久亚洲一区| 国产精品久久777777毛茸茸| 欧美激情偷拍| 亚洲欧美网站| 亚洲精品欧美精品| 欧美日韩国产一区精品一区| 国产一区91| 亚洲高清视频一区| 久久资源在线| 亚洲欧美激情诱惑| 日韩午夜在线| 国内精品福利| 欧美激情第8页| 久久黄色网页| 亚洲欧美日韩国产一区| 黑人一区二区三区四区五区| 久久精品国产清高在天天线| 一本久道久久综合狠狠爱| 欧美91福利在线观看| 亚洲免费影院| 国产精品夜夜夜| 亚洲精品欧洲| 亚洲高清不卡| 亚洲小说欧美另类社区| 欧美 日韩 国产一区二区在线视频| 国产欧美日韩亚洲一区二区三区| 好吊色欧美一区二区三区四区| 欧美 日韩 国产在线| 久久精品官网| 久久久精品动漫| 免费在线欧美黄色| 亚洲欧美日本国产专区一区| 国产精品亚洲产品| 国产精品外国| 亚洲欧美日韩精品久久久 | 午夜日韩在线| 欧美在线资源| 欧美日韩调教| 好吊色欧美一区二区三区四区 | 欧美91福利在线观看| 久久精品动漫| 欧美不卡高清| 欧美日韩国产探花| 国产在线不卡| 亚洲视频观看| 最新国产拍偷乱拍精品| 亚洲黄色天堂| 国产一区二区三区奇米久涩| 亚洲一区二区精品在线| 欧美一区=区| 女生裸体视频一区二区三区| 亚洲欧美在线网| 激情久久中文字幕| 亚洲精品四区| 免费看的黄色欧美网站| 女人色偷偷aa久久天堂| 欧美午夜不卡| av成人毛片| 亚洲欧美日韩精品在线| 久久久久久久欧美精品| 国产精品v亚洲精品v日韩精品| 狠狠综合久久| 国产亚洲高清视频| 欧美 日韩 国产 一区| 黑人中文字幕一区二区三区| 一区二区冒白浆视频| 久久久久久自在自线| 一区国产精品| 媚黑女一区二区| 国语自产精品视频在线看8查询8| 亚洲国产精品视频一区| 午夜一区二区三区不卡视频| 国产精品高清一区二区三区| 亚洲精选久久| 欧美日韩1区| 99热精品在线观看| 欧美破处大片在线视频| 亚洲日本欧美在线| 欧美激情精品久久久六区热门| 99精品视频免费全部在线| 久久久久久久欧美精品| 亚洲毛片视频| 韩国亚洲精品| 久久久久天天天天| 99热在线精品观看| 国产精品草草| 久久精品免费| 国产伦精品一区| 亚洲黄色高清| 国精品一区二区| 久久一区欧美| 免费一区视频| 国产精品入口66mio| 一区二区自拍| 国产精品xxx在线观看www| 性一交一乱一区二区洋洋av| 在线精品一区二区| 欧美另类女人| 久久亚洲欧美| 亚洲免费综合| 国产精品夜夜夜一区二区三区尤| 国产综合婷婷| 国产精品初高中精品久久| 欧美一区综合| 久久婷婷人人澡人人喊人人爽| 国产偷自视频区视频一区二区| 亚洲小说欧美另类社区| 欧美+日本+国产+在线a∨观看| 亚洲一区区二区| 亚洲欧美日韩精品综合在线观看| 一级日韩一区在线观看| 亚洲人成人一区二区三区| 好看的亚洲午夜视频在线| 欧美午夜视频| 亚洲特色特黄| 伊人久久大香线蕉av超碰演员| 国产一区在线免费观看| 欧美日韩亚洲一区在线观看| 欧美国产专区| 国产尤物精品| 亚洲国产一区二区三区高清| 亚洲国产专区| 日韩午夜一区| 亚洲欧美日韩国产一区| 免费在线亚洲欧美| 亚洲欧美春色| 欧美一区激情视频在线观看| 欧美日本一区二区高清播放视频| 午夜久久久久| 亚洲高清激情| 国产视频一区三区| 噜噜噜躁狠狠躁狠狠精品视频| 久久亚洲不卡| 国内久久视频| 一区二区精品在线| 久久精品国产清高在天天线| 欧美日韩成人| 在线视频观看日韩| 国产美女在线精品免费观看| 久久激情视频| 亚洲网站视频| 国产九九精品| 国产精品v欧美精品∨日韩| 在线国产日韩| 性久久久久久| 黄色国产精品| 亚洲欧美大片| 狠狠色综合网站久久久久久久| 99精品国产99久久久久久福利| 久久国产日韩| 亚洲精品视频啊美女在线直播| 麻豆成人av| 亚洲黄色成人| 亚洲欧美亚洲| 国产农村妇女精品一区二区| 欧美精品偷拍| 性欧美精品高清| 亚洲黄色三级| 欧美精品成人| 亚洲欧美日韩综合一区| 亚洲午夜极品| 老司机午夜精品视频在线观看| 在线观看欧美一区| 欧美福利专区| 久久av最新网址| 日韩一级不卡| 亚洲一二三区在线| 久久精品欧美| 国产精品毛片在线| 亚洲国产高清一区二区三区| 你懂的成人av| 鲁大师影院一区二区三区| 一本色道久久综合亚洲二区三区| 国产自产精品| 欧美日韩国产高清| 玖玖在线精品|