html5 獲取攝像頭和麥克風的案例
阿新 • • 發佈:2019-01-07
使用的介面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更安全的協議上面使用。