前端多媒体-1.获取摄像头&麦克风
Posted chougoushi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端多媒体-1.获取摄像头&麦克风相关的知识,希望对你有一定的参考价值。
获取视频/音频引言
因为最近在学习WebRTC,前端就需要学习一下媒体的相关知识.
MediaDevices.getUserMedia()
MediaDevice.getUserMedia()
与WebRTC相关,欣慰他是通过这组API的门户.提供访问用户本地相机/麦克风媒体流手段
MediaDevice.getUserMedia()
方法提示用户是否允许使用一个视频或音频输入设备,例如相机或屏幕共享或麦克风.如果用户给予许可,就返回一个Promise
对象.
需要注意的是,由于用户不会被要求必须做出允许或者拒绝,所以返回的Promise
对象可能既不处罚resolve
也不触发reject
【注意】新版本的视频获取接口要用HTTPS协议,否则会抛出错误,当然现在在本地访问通过 localhost, 127.0.0.1 或者文件协议,都可以正常使用
定义输出媒体
使用video组件输出产生的视频(就是一个播放器)
<style type="text/css">
#video{
width: 320px;
height: 180px;
background-color: #000000;
}
</style>
<-- autoplay 自动播放 controls视频播放器的控件(暂停播放哪些~) -->
<video id="video" autoplay="autoplay" controls="controls"></video>
指定请求的媒体类型和相对应的参数
var constrains = {
audio: true,
video: true
};
当然可以指定视频源的一些信息,比如摄像头分辨率,最高,最低,理想的摄像头分辨率,强制使用后置摄像头,采样率.当让你可以使用getSupportedConstraints
方法获取,浏览器支持哪些配置
var constraints = {
audio: false,
video: {
width: 160,
height: 90,
facingMode: {
exact: "environment"
},
frameRate: {
ideal: 10,
max: 15
}
}
};
获取视频源
navigator.mediaDevices.getUserMedia(contraints).then(function(mediaStream)){
var video = document.querySelector(‘video‘);
video.srsObject = mediaStream
video.onloadedmetadata = function(e) {
video.play();
};
})
.catch(function(error)) {
console.log(error);
});
}
以上是关于前端多媒体-1.获取摄像头&麦克风的主要内容,如果未能解决你的问题,请参考以下文章
WebRTC音视频采集和播放示例及MediaStream媒体流解析