校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 使用HTML5捕捉音頻與視頻信息概述及實例

使用HTML5捕捉音頻與視頻信息概述及實例

熱門標簽:威海營銷外呼系統招商 漳州人工外呼系統排名 農村住宅地圖標注 中紳電銷智能機器人 鄭州電銷外呼系統違法嗎 跟電銷機器人做同事 鶴壁手機自動外呼系統怎么安裝 ai電銷機器人連接網關 濟南辦理400電話

本文概述
長期以來,音頻與視頻信息的捕捉一直是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>

標簽:紅河 營口 萍鄉 文山 咸陽 惠州 甘南 蘇州

巨人網絡通訊聲明:本文標題《使用HTML5捕捉音頻與視頻信息概述及實例》,本文關鍵詞  使用,HTML5,捕捉,音頻,與,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《使用HTML5捕捉音頻與視頻信息概述及實例》相關的同類信息!
  • 本頁收集關于使用HTML5捕捉音頻與視頻信息概述及實例的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    成人黄页毛片网站| 麻豆成人在线观看| 91麻豆成人久久精品二区三区| 久久久久久免费毛片精品| 国产成人在线色| 欧美国产日韩一二三区| 91视频在线观看免费| 亚洲一区二区在线免费看| 欧美日韩亚洲综合一区二区三区 | 精品剧情v国产在线观看在线| 免费欧美日韩国产三级电影| 精品国产乱码91久久久久久网站| 国产一区二区91| 自拍av一区二区三区| 欧美探花视频资源| 国产原创一区二区| 亚洲日本在线a| 欧美一卡二卡三卡四卡| 国产高清亚洲一区| 亚洲一二三区不卡| 久久久欧美精品sm网站| 色婷婷av一区二区三区软件 | 国产精品色在线观看| 在线视频你懂得一区二区三区| 污片在线观看一区二区| 久久综合成人精品亚洲另类欧美| heyzo一本久久综合| 日韩主播视频在线| 国产精品高潮呻吟| 欧美一级欧美三级在线观看| 99视频在线观看一区三区| 日韩中文字幕一区二区三区| 国产精品欧美一级免费| 91.麻豆视频| av成人老司机| 国产一区二区三区高清播放| 亚洲综合色噜噜狠狠| 国产三级精品视频| 欧美一区二区女人| 91麻豆精东视频| 国产在线视频一区二区| 亚洲成人av资源| 国产精品色呦呦| 日韩欧美国产一二三区| 色老汉一区二区三区| 国产激情91久久精品导航| 亚洲国产视频在线| 国产精品动漫网站| 欧美精品一区二区三区蜜臀| 欧美日韩成人激情| 91在线播放网址| 岛国精品在线播放| 麻豆91精品91久久久的内涵| 性做久久久久久免费观看欧美| 国产精品免费久久久久| 精品国产一区二区三区四区四| 欧美午夜不卡在线观看免费| 成人午夜伦理影院| 国产成人三级在线观看| 国内精品伊人久久久久av一坑| 亚洲尤物视频在线| 亚洲欧洲中文日韩久久av乱码| 久久久国际精品| 欧美成人一区二区三区片免费 | 国产精品区一区二区三| 久久久三级国产网站| 精品va天堂亚洲国产| 91精品国产综合久久精品麻豆 | 成人av资源站| 成人高清在线视频| 成人综合在线网站| 国产成人综合网站| 夫妻av一区二区| 国产.欧美.日韩| 大白屁股一区二区视频| 国产成人午夜精品5599| 国产另类ts人妖一区二区| 国产在线精品一区二区不卡了 | 国产成人av电影在线播放| 国产一区二区三区电影在线观看| 经典三级一区二区| 国产一区在线观看视频| 国产精品123区| 成人动漫在线一区| 99久久国产免费看| 欧美在线观看视频一区二区| 欧美在线免费视屏| 这里只有精品99re| 日韩精品一区二区三区在线播放 | 欧美日韩和欧美的一区二区| 欧美亚洲精品一区| 91精品欧美综合在线观看最新| 欧美一区二区精品| 国产视频一区二区在线| 国产精品久久久久久妇女6080| 国产精品福利一区二区| 亚洲日本一区二区| 日本aⅴ亚洲精品中文乱码| 麻豆精品视频在线观看视频| 国产一区二区三区高清播放| 99在线视频精品| 欧美色网站导航| 精品日韩欧美一区二区| 国产免费观看久久| 亚洲第一电影网| 国产一区二区美女| 色素色在线综合| 精品免费视频.| 亚洲欧美激情小说另类| 天天亚洲美女在线视频| 国产精品一二三| 欧美午夜宅男影院| www国产成人免费观看视频 深夜成人网| 日本一区二区三区免费乱视频| 亚洲自拍偷拍麻豆| 精品系列免费在线观看| 一本色道久久综合亚洲aⅴ蜜桃 | 国产aⅴ综合色| 欧美中文字幕亚洲一区二区va在线| 91精品国产综合久久久久久久 | 中文成人av在线| 亚洲国产美女搞黄色| 激情av综合网| 欧美亚男人的天堂| 国产女主播一区| 美女在线观看视频一区二区| 成人精品国产一区二区4080| 欧美人xxxx| 1024成人网| 国产综合色产在线精品| 欧美日韩国产不卡| 国产精品久久久久影院色老大| 免费一级欧美片在线观看| 日本二三区不卡| 国产欧美精品国产国产专区| 日韩不卡一区二区| 欧美主播一区二区三区| 中文字幕免费不卡| 黄网站免费久久| 欧美精品久久99| 亚洲精品国产a| jizzjizzjizz欧美| 国产日韩欧美一区二区三区乱码| 日日夜夜一区二区| 欧美主播一区二区三区| 成人免费在线播放视频| 国产乱人伦精品一区二区在线观看| 欧美精三区欧美精三区| 亚洲精品日日夜夜| 99国产精品久久久久久久久久 | 亚洲免费色视频| 成人激情av网| 国产精品嫩草影院com| 国产不卡视频在线播放| 日韩美女在线视频| 免费美女久久99| 欧美一区二区精品在线| 免费在线观看精品| 91精品国产免费久久综合| 亚洲18色成人| 欧美精品自拍偷拍动漫精品| 亚洲一区二区五区| 欧美日韩在线一区二区| 一区二区三区鲁丝不卡| 色婷婷av一区二区三区大白胸 | 午夜国产精品影院在线观看| 色综合久久中文字幕综合网| 亚洲丝袜美腿综合| 一道本成人在线| 亚洲一区二区av电影| 欧美三级日韩三级| 香蕉影视欧美成人| 欧美一区二区三区白人| 欧美aaaaaa午夜精品| 欧美哺乳videos| 国产真实乱对白精彩久久| 国产日韩av一区二区| 成人污视频在线观看| 亚洲欧洲精品天堂一级| 91日韩精品一区| 亚洲成人综合网站| 日韩手机在线导航| 国产999精品久久久久久绿帽| 欧美国产日韩a欧美在线观看 | 亚洲一区二区欧美| 欧美日韩国产精品成人| 久久成人免费电影| 久久精品视频一区| 一本一本大道香蕉久在线精品 | 久久精品视频一区二区三区| 粉嫩aⅴ一区二区三区四区 | 午夜伦欧美伦电影理论片| 欧美一区二区三区喷汁尤物| 国产一区二区福利视频| 亚洲色欲色欲www| 欧美日韩国产综合一区二区 | 欧美乱妇一区二区三区不卡视频| 日韩中文字幕不卡| 国产精品无人区| 欧美日韩国产一级|