- WebRTC技术详解:从0到1构建多人视频会议系统
- 栗伟
- 252字
- 2021-04-20 11:41:31
2.4.2 获取摄像头与话筒
WebRTC使用getUserMedia()方法获取摄像头与话筒对应的媒体流。
const promise = navigator.mediaDevices.getUserMedia(constraints);
- 参数:constraints,这是一个MediaStreamConstraints对象,指定了获取媒体流的约束需求,MediaStreamConstraints对象的使用详见2.2节。
- 返回值:promise,如果方法调用成功则得到一个MediaStream对象。如果调用失败,则抛出DOMException异常,异常对象的name属性可取值如表2-8所示。
表2-8 getUserMedia()异常说明
代码清单2-33调用getUserMedia()方法请求音频和视频,如果调用成功则将stream关联到<video>元素,并在加载完meta数据后播放视频。如果调用失败,则打印错误对象的name和message。
代码清单2-33 getUserMedia()方法示例
const constraints = { audio: true, video: { width: 1280, height: 720 } }; navigator.mediaDevices.getUserMedia(constraints) .then((stream) => { const video = document.querySelector('video'); video.srcObject = stream; video.onloadedmetadata = (e) => { video.play(); }; }) .catch((err) => { console.log(err.name + ": " + err.message); });