介绍:
mediaDevices
是 Navigator 只读属性,返回一个 MediaDevices 对象,该对象可提供对相机和麦克风等媒体输入设备的连接访问,也包括屏幕共享。
语法:
var mediaDevices = navigator.mediaDevices;
MediaDevices 是一个单例对象
。通常,您只需直接使用此对象的成员,例如通过调用navigator.mediaDevices.getUserMedia()。
MediaDevices.getUserMedia()介绍:
navigator.mediaDevices.getUserMedia()
会提示用户给予使用媒体输入的许可,媒体输入会产生一个MediaStream
,里面包含了请求的媒体类型的轨道。此流可以包含一个视频轨道(来自硬件或者虚拟视频源,比如相机、视频采集设备和屏幕共享服务等等)、一个音频轨道(同样来自硬件或虚拟音频源,比如麦克风、A/D转换器等等),也可能是其它轨道类型。
它返回一个 Promise
对象,成功后会resolve
回调一个 MediaStream
对象。若用户拒绝了使用权限,或者需要的媒体源不可用,promise
会reject
回调一个 PermissionDeniedError
或者 NotFoundError
。
MediaDevices.getUserMedia()的基本语法:
navigator.mediaDevices.getUserMedia(constraints)
//constraints配置信息,见下文
.then(function(stream) {
/* 使用这个stream stream */