navigator访问摄像头?
时间: 2023-09-13 14:10:44 浏览: 36
可以使用Navigator对象的`mediaDevices.getUserMedia()`方法访问摄像头。该方法返回一个Promise对象,用于请求访问设备媒体流(例如摄像头、麦克风等)。
以下是一个简单的示例,演示如何使用getUserMedia()方法从摄像头获取视频流:
```javascript
if (navigator.mediaDevices.getUserMedia) {
navigator.mediaDevices.getUserMedia({ video: true })
.then(function (stream) {
var video = document.createElement('video');
video.srcObject = stream;
document.body.appendChild(video);
video.play();
})
.catch(function (error) {
console.log('Error accessing camera: ' + error);
});
} else {
console.log('getUserMedia() is not supported in this browser.');
}
```
在上面的示例中,首先检查浏览器是否支持getUserMedia()方法。如果支持,则调用getUserMedia()方法请求访问摄像头,参数对象`{ video: true }`表示请求视频流。如果成功获取到视频流,将创建一个视频元素并将其添加到文档中,然后播放视频流。如果出现错误,则在控制台中输出错误信息。
需要注意的是,getUserMedia()方法的返回值是一个媒体流,可以作为视频、音频或音视频的源。您可以将其传递给HTML5的video或audio元素,或使用WebRTC等技术进行音视频通信。