上QQ阅读APP看书,第一时间看更新
2.8.1 构造MediaRecorder
构造MediaRecorder对象的语法如下所示。
const mediaRecorder = new MediaRecorder(stream[, options]);
- 参数:stream,MediaStrem对象,录制源;options,类型为MediaRecorderOptions的可选参数,MediaRecorderOptions的定义如代码清单2-46所示。
代码清单2-46 MediaRecorderOptions的定义
dictionary MediaRecorderOptions { DOMString mimeType = ""; unsigned long audioBitsPerSecond; unsigned long videoBitsPerSecond; unsigned long bitsPerSecond; BitrateMode audioBitrateMode = "vbr"; };
MediaRecorderOptions属性如表2-11所示。
表2-11 MediaRecorderOptions属性说明
如果没有指定录制流的码率,则默认视频码率为2.5Mbps,音频码率取决于采样率和通道数。
如代码清单2-47所示,创建录制流,指定的视频编码格式是mp4,如果创建成功则返回MediaRecorder对象,创建失败则打印错误信息并返回null。
代码清单2-47 MediaRecorder构造函数示例
function getRecorder(stream) { const options = { audioBitsPerSecond : 128000, videoBitsPerSecond : 2500000, mimeType : 'video/mp4' }; let mediaRecorder = null; try { mediaRecorder = new MediaRecorder(stream,options); } catch(e) { console.error('Exception while creating MediaRecorder: ' + e); } return mediaRecorder; }