相机调用接口

本文介绍了如何使用JavaScript的MediaStream接口访问和控制用户的摄像头和麦克风。重点讲解了getUserMedia方法、MediaStream对象的属性和事件以及相关的方法,如addTrack、removeTrack等。此外,还提到了ImageCapture接口的takePhoto方法用于拍照,并给出了简单的设备枚举示例。
摘要由CSDN通过智能技术生成

相机调用接口

MediaStream 接口是一个媒体内容的流.。一个流包含几个轨道,比如 视频(video) 和 音频(audio) 轨道。作用是从用户本地摄像机和麦克风访问媒体流。getUserMedia()方法是访问本机输入设备的主要方式。

  1. 首先是访问用户设备的摄像头和麦克风。我们检测可用设备的类型,获得用户访问这些设备的权限,并管理数据流。
  2. 注意:实时音视频以流对象的形式表示
            通过询问用户是否授权,有安全控制,只允许授予一次权限,此后不再要求访问
            输入设备选择由mediaStream处理
            每个mediaStream对象包括几个mediaStreamTRack对象,代表来自不同设备的音视频
            每个mediaStreamTrack对象可能包括几个信道(左声道和右声道)
            两种方法输出mediaStream对象。
            首先将音视频输出显示,设置srcObject属性将MediaStream附加到视频元素,

MediaStream属性

  1. MediaStream.active — 如果MediaStream处于活动状态,则返回true ,否则返回false
  2. MediaStream.ended —如果在对象上已触发结束事件,则返回true ,这意味着流已完全读取,如未达到流结尾,则为false。
  3. MediaStream.id — 对象的唯一标识符。
  4. MediaStream.label — 用户代理分配的唯一标识符。

事件

  1. MediaStream.onactive — 当MediaStream对象变为活动时触发的活动事件的处理程序。
  2. MediaStream.onaddtrack — 在添加新的MediaStreamTrack对象时触发的addTrack事件的处理程序。
  3. MediaStream.onended — 当流终止时触发的结束事件的处理程序。
  4. MediaStream.oninactive — 当MediaStream对象变为非活动状态时触发的非活动事件的处理程序。
  5. MediaStream.onremovetrack — 在从它移除MediaStreamTrack对象时触发的removeTrack事件的处理程序。

方法

  1. MediaStream.addTrack() -将作为参数的MediaStreamTrack对象添加到MediaStream中。如果已经添加了音轨,则没有发生任何事情。
  2. MediaStream.clone() -使用新id返回MediaStream对象的克隆
  3. MediaStream.getAudioTracks() -从MediaStream对象返回音频MediaStreamTrack对象的列表。
  4. MediaStream.getTrackById() -通过id返回跟踪。如果参数为空或未找到id,则返回null。如果多个磁道具有相同的id,则返回第一个磁道。
  5. MediaStream.getTracks() -从MediaStream对象返回所有MediaStreamTrack对象的列表
  6. MediaStream.getVideoTracks() -从MediaStream对象返回视频MediaStreamTrack对象的列表。
  7. MediaStream.removeTrack() -从MediaStream中删除作为参数的MediaStreamTrack对象。如果已删除该磁道,则不会发生任何操作。

接下来就是一些接口方法的小例子 ^^
MediaDevices.getUserMedia()
**getUserMedia() **方法提示用户获得使用媒体输入的权限,该输入将生成包含所请求媒体类型的曲目的媒体流。返回解析为MediaStream对象的promise。如果用户拒绝许可,或匹配媒体不可用,则承诺将被拒绝,并分别显示NotAllowedError或NotFoundError。

navigator.mediaDevices.getUserMedia({
    audio: true, video: true })
.then(function(stream) {
   
  var video = document.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值