关于MediaStream,还有一个重要的概念叫做: Constraints(约束)。它是用来规范当前采集的数据是否符合需要,并可以通过参数来设置。 从0打造音视频直播系统
// 基本
const constraint1 = {
"audio": true, // 是否捕获音频
"video": true // 是否捕获视频
}
// 详细
const constraint2 = {
"audio": {
"sampleSize": 8,
"echoCancellation": true //回声消除
},
"video": { // 视频相关设置
"width": {
"min": "381", // 当前视频的最小宽度
"max": "640"
},
"height": {
"min": "200", // 最小高度
"max": "480"
},
"frameRate": {
"min": "28", // 最小帧率
"max": "10"
}
}
}
3.获取设备本地音视频
其中本地媒体流获取用到的是navigator.getUserMedia()
,它提供了访问用户本地相机/麦克风媒体流的手段。
var video = document.querySelector('video');
navigator.getUserMedia({
audio : true,
video : true
}, function (stream) {
//拿到本地媒体流
video.src = window.URL.creatObjectURL(stream);
}, function (error) {
console.log(error);
});