上QQ阅读APP看书,第一时间看更新
2.8.2 MediaRecorder属性
1. mimeType只读
返回构造MediaRecorder对象时指定的MIME编码格式,如果在构造时未指定,则返回浏览器默认使用的编码格式,类型为字符串。
代码清单2-48调用getUserMedia方法获取音视频流,并指定mp4编码格式进行录制。
代码清单2-48 mimeType示例
if (navigator.mediaDevices) { console.log('getUserMedia supported.'); const constraints = { audio: true, video: true }; const chunks = []; navigator.mediaDevices.getUserMedia(constraints) .then(stream => { const options = { audioBitsPerSecond: 128000, videoBitsPerSecond: 2500000, mimeType: 'video/mp4' } const mediaRecorder = new MediaRecorder(stream,options); console.log(mediaRecorder.mimeType); }).catch(error => { console.log(error.message); });
2. state只读
返回MediaRecorder对象的当前状态,类型为RecordingState。RecordingState的定义如代码清单2-49所示。
代码清单2-49 RecordingState的定义
enum RecordingState { "inactive", "recording", "paused" };
表2-12对RecordingState的属性进行了说明。
表2-12 RecordingState属性说明
代码清单2-50在onclick事件的处理函数中启动录制并打印录制的状态。
代码清单2-50 state示例
record.onclick = () => { mediaRecorder.start(); console.log(mediaRecorder.state); }
3. stream只读
返回构造MediaRecorder对象时指定的媒体流对象,类型为MediaStream。
4. videoBitsPerSecond只读
返回当前的视频码率,可能与构造时指定的码率不同,类型为数值。
5. audioBitsPerSecond只读
返回当前的音频码率,可能与构造时指定的码率不同,类型为数值。
6. audioBitrateMode只读
返回音频轨道的码率模式,类型为BitrateMode。BitrateMode的定义如代码清单2-51所示。
代码清单2-51 BitrateMode的定义
enum BitrateMode { "cbr", "vbr" };
其中,cbr指以固定码率进行编码,vbr指以可变码率进行编码。