中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

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

本文概述

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

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

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

捕捉媒體數(shù)據(jù)的技術發(fā)展歷史

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

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

在HTML頁面文件中實現(xiàn)媒體數(shù)據(jù)的捕捉

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

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

代碼如下:

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

錄制視頻數(shù)據(jù)與音頻數(shù)據(jù)的代碼與之類似:

代碼如下:

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

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

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

支持瀏覽器:

Android 3.0瀏覽器

Chrome for Android (0.16)

Firefox Mobile 10.0

device元素

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

Opera瀏覽器是第一個通過device元素實現(xiàn)視頻數(shù)據(jù)捕捉的瀏覽器。幾乎在同一天,WhatWG組織決定使用navigator.getUserMedia()方法來捕捉媒體數(shù)據(jù)。一個星期后,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的出現(xiàn),媒體數(shù)據(jù)捕捉技術又有了一個很大的發(fā)展。Google、Opera、Mozilla等公司均正在努力將其實現(xiàn)在自己的瀏覽器中。

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方法的第一個參數(shù)是一個用于指定媒體類型的對象。例如,當你想訪問攝像頭設備時,第一個參數(shù)應該為{video:true},為了同時訪問攝像頭設備與麥克風設備,需要使用{video:true,audio:true}參數(shù),代碼如下所示:

代碼如下:

<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瀏覽器中不觸發(fā)onloadedmetadata事件

video.onloadedmetadata = function(e) {

//后續(xù)代碼略

};

}, onFailSoHard);

</script>

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

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

請注意:在Chrome瀏覽器中,如果只使用{audio:true},則引發(fā)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方法');

}

安全性

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

拍照

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

代碼如下:

<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>

更多信息請查看網(wǎng)頁制作
易賢網(wǎng)手機網(wǎng)站地址:使用HTML5捕捉音頻與視頻信息概述及實例
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢?yōu)闇剩?/div>

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網(wǎng)
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
欧美日韩无遮挡| 亚洲激情自拍| 国产欧美日韩在线视频| 午夜精品久久久久久久| 国产欧美日本一区二区三区| 亚洲国产精品va在线观看黑人| 久久一区二区三区av| …久久精品99久久香蕉国产| 另类天堂av| 亚洲国产成人精品女人久久久| 久热精品视频在线观看| 欧美日韩mv| 亚洲女人天堂av| 激情久久久久| 久久久999| 欧美三区在线观看| 久久综合狠狠| 亚洲国产欧美在线| 国产精品大片| 久久久久久久一区二区三区| 亚洲人在线视频| 国产欧美日韩精品一区| 牛夜精品久久久久久久99黑人| 一二三区精品| 尤物在线精品| 国产精品入口66mio| 久久天天躁狠狠躁夜夜爽蜜月| 一区二区免费在线视频| 狠狠色丁香婷婷综合久久片| 欧美高清在线精品一区| 欧美一区1区三区3区公司| 亚洲日本欧美日韩高观看| 欧美精品三级在线观看| 久久精品成人一区二区三区蜜臀 | 亚洲在线成人精品| 性感少妇一区| 亚洲国产综合在线看不卡| 欧美日韩直播| 韩国免费一区| 一区二区三区视频在线| 国产亚洲欧美激情| 国产精品久久久久三级| 欧美激情欧美激情在线五月| 久久人人爽人人爽爽久久| 亚洲一区在线视频| 亚洲午夜精品国产| 亚洲神马久久| 一区二区三区日韩| 亚洲午夜一二三区视频| 一区二区三区日韩精品| 一区二区三区高清不卡| 国产精品99久久久久久白浆小说| 亚洲精品一区中文| 日韩亚洲欧美一区| 亚洲国产福利在线| 999在线观看精品免费不卡网站| 亚洲福利在线看| 亚洲欧洲精品一区二区三区不卡| 亚洲国产精品一区二区第一页 | 国产精品系列在线播放| 欧美色欧美亚洲另类二区 | 亚洲欧洲日本国产| 亚洲区第一页| 亚洲视频精选在线| 欧美亚洲网站| 另类图片综合电影| 欧美日韩成人网| 国产精品美女www爽爽爽| 国产欧美亚洲一区| 在线看片第一页欧美| 亚洲免费av网站| 亚洲欧美大片| 亚洲自拍啪啪| 久久天天躁狠狠躁夜夜av| 欧美成人免费一级人片100| 欧美日韩专区在线| 你懂的国产精品永久在线| 亚洲第一精品夜夜躁人人爽| 亚洲欧美日韩在线观看a三区 | 激情久久影院| 精品96久久久久久中文字幕无| 好吊一区二区三区| 欧美黄色影院| 免费不卡视频| 国产精品久久久久久av下载红粉| 亚洲在线播放电影| 蜜臀久久久99精品久久久久久| 性欧美8khd高清极品| 久久精品观看| 久久精品国产99国产精品| 蜜臀av国产精品久久久久| 久久天天躁狠狠躁夜夜爽蜜月| 欧美韩日一区二区三区| 欧美成人免费网站| 国产精品一二一区| 国产欧美在线观看| 国产亚洲视频在线观看| 伊人久久综合| 日韩视频在线免费观看| 亚洲午夜日本在线观看| 亚洲欧美日韩一区二区在线 | 亚洲欧洲日韩综合二区| 亚洲国产天堂久久国产91| 亚洲精品免费观看| 99精品99久久久久久宅男| 中文亚洲视频在线| 欧美一级视频| 国产精品成人观看视频国产奇米| 国产欧美91| 亚洲国产黄色片| av成人激情| 欧美亚洲视频在线看网址| 久久久亚洲国产天美传媒修理工| 欧美高清在线一区| 久久精品视频免费| 国产毛片久久| 亚洲人成在线影院| 亚洲综合欧美日韩| 鲁大师影院一区二区三区| 欧美日韩在线免费视频| 国产午夜精品麻豆| 国产一区二区日韩| 欧美一区久久| 久久精品水蜜桃av综合天堂| 国产精品一区一区| 国产欧美va欧美va香蕉在| 亚洲欧美日韩久久精品| 韩国v欧美v日本v亚洲v| 午夜精品久久久久99热蜜桃导演| 欧美日韩国产成人精品| 欧美三级黄美女| 免费在线一区二区| 亚洲一区二区成人| 亚洲影视在线播放| 欧美一区二区三区在线观看 | 国产一区二区三区四区在线观看 | 老司机成人网| 欧美午夜片欧美片在线观看| 永久免费毛片在线播放不卡| 中日韩高清电影网| 欧美激情无毛| ●精品国产综合乱码久久久久| 日韩一区二区福利| 亚洲影院免费观看| 亚洲一区日韩在线| 欧美精品日韩一本| 激情成人av在线| 欧美在线视频一区二区| 国产精品v欧美精品∨日韩| 亚洲区在线播放| 久久国产色av| 91久久精品网| 欧美激情1区2区3区| 在线观看国产日韩| 久久久精彩视频| 国产亚洲一本大道中文在线| 亚洲影音先锋| 欧美电影在线观看| 亚洲女ⅴideoshd黑人| 欧美日韩视频一区二区| 亚洲精品美女久久7777777| 免费在线视频一区| 亚洲激情在线播放| 欧美精品尤物在线| 欧美伊人久久久久久久久影院| 国产乱码精品| 久久精品日产第一区二区三区| 国产欧美日韩视频| 欧美在线一级va免费观看| 国产日韩精品视频一区二区三区| 亚洲国产欧美一区二区三区同亚洲| 国产精品白丝av嫩草影院| 亚洲免费视频网站| 国产伊人精品| 久久综合给合久久狠狠色| 亚洲国产你懂的| 欧美人成在线视频| 亚洲精品国产系列| 国产一区二区三区四区| 久热成人在线视频| 99re热这里只有精品视频| 国产精品乱码久久久久久| 午夜一区不卡| 黄色成人av| 国产欧美一区二区视频| 美日韩丰满少妇在线观看| 日韩视频永久免费| 国产精品亚发布| 欧美mv日韩mv亚洲| 亚洲日本成人| 亚洲春色另类小说| 国产精品va在线| 久久久精品五月天| 一区二区三区高清不卡| 国产偷国产偷精品高清尤物| 欧美在线亚洲在线| 亚洲欧美制服另类日韩| 亚洲黄色精品| 国产午夜一区二区三区| 欧美精品日韩三级|