日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

HTML5 API详解(6):getUserMedia实现拍照功能

發布時間:2025/3/15 HTML 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HTML5 API详解(6):getUserMedia实现拍照功能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

注意:獲取攝像頭影像主要是通過navigator.getUserMedia這個接口,在caniuse.com上查詢一下這個接口的支持情況,可以看到目前只有Chrome和Firefox支持得比較好,而且都要加上自家的前綴,移動端幾乎全線不可用。

屬性:window.navigator.getUserMedia(); 獲取攝像頭形象主要通過getUserMedia這個接口

案例代碼:

//首先要有個video標簽

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

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

//getUserMeida做兼容處理

navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia;

//向瀏覽器申請訪問攝像頭權限,需要用戶通過瀏覽器授權

var constraints= {

video:true,//video為true為啟用視頻

audio:true // audio為true為啟用音頻

}

navigator.getUserMedia(constraints,onSuccess, onError);

瀏覽器執行這段代碼的時候,會提示用戶是否允許使用攝像頭,允許之后,網頁上就可以實時顯示攝像頭影像了。如果不允許,就會觸發錯誤事件。

//如果啟動成功,出發監聽處理程序,傳入一個視頻流對象的參數stream

function onSuccess(stream){

if(window.URL){

//在Chrome和Opera中,URL.createObjectURL方法將媒體數據流(MediaStream)轉為一個二進制對象的URL(Blob URL),該URL可以作為video元素的src屬性的值。

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

}else{

video.src = stream;

}

video.play();

}

//如果再此基礎上需要實現獲取影像(拍照)功能的話,要加上canvas

<canvas id="canvas"></canvas>

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

//規定要使用的圖像、畫布或視頻,位移x:0,y:0,寬,搞

canvas.getContext('2d).drawImage(video,0,0,window.innerWidth,innerHeight);

//把canvas的圖片顯示出來,放在一個img標簽里面

<img id='img' src=''/>

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

//canvas.toDataUR()返回又參數指定格式image/webp的圖片的描述信息

img.src = canvas.toDateURL('image/webp');

來到這里img元素就會顯示你的攝像圖里面的圖像了!

總結

以上是生活随笔為你收集整理的HTML5 API详解(6):getUserMedia实现拍照功能的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。