1. 程式人生 > >html5 獲取攝像頭和麥克風的案例

html5 獲取攝像頭和麥克風的案例

使用的介面api

通過navigator.mediaDevices.getUserMedia()方法進行獲取
該MediaDevices.getUserMedia()方法提示使用者允許使用產生MediaStream包含所請求型別的媒體的軌道的媒體輸入。該流可以包括例如視訊軌道(由硬體或虛擬視訊源(例如相機,視訊記錄裝置,螢幕共享服務等)產生),音軌(類似地,由物理或虛擬音訊源,如麥克風,A / D轉換器等),以及可能的其他軌道型別。
注意:使用此方法需要允許瀏覽器呼叫攝像頭和麥克風才可以

程式碼案例

當前程式碼直接在pc端或者筆記本上可直接檢視案例,如果缺少相關硬體,直接回給報錯誤。

<!doctype html>
<html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title
>
</head> <body> <video src="" id="video"></video> </body> <script> // Prefer camera resolution nearest to 1280x720. var constraints = { audio: true, video: { width: 1280, height: 720 } }; navigator.mediaDevices.getUserMedia(constraints) .then(function
(mediaStream) {
var video = document.querySelector('video'); video.srcObject = mediaStream; video.onloadedmetadata = function(e) { video.play(); }; }) .catch(function(err) { console.log(err.name + ": " + err.message); }); // always check for errors at the end.
</script> </html>

相容性

火狐 谷歌chorme 還有歐朋瀏覽器都支援
ie瀏覽器和蘋果的safari都不支援

注意事項

在移動端http協議不被支援,需要在https更安全的協議上面使用。