RecorderManager
全局唯一的录音管理器。
方法
RecorderManager.start(Object object)
开始录音。传入的参数为对象,属性如下:
属性 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
---|---|---|---|---|---|
duration | number | 60000 | 否 | 录音自动完成时长,单位 ms | 1.0.0 |
sampleRate | number | 8000 | 否 | 采样率,有效值可以是 8000, 16000, 44100 | 1.0.0 |
numberOfChannels | number | 1 | 否 | 录音通道数,有效值可以是 1 或 2 | 1.0.0 |
encodeBitRate | number | 48000 | 否 | 码率 | 1.0.0 |
frameSize | number | 否 | 帧大小,单位 KB。如果设置了值,那么每当录音内容达到帧大小时会通过onFrameRecorded 返回内容。 | 1.0.0 |
sampleRate和encodeBitRate的对应关系如下:
采样率 | 编码码率 |
---|---|
8000 | 16000 ~ 48000 |
11025 | 16000 ~ 48000 |
12000 | 24000 ~ 64000 |
16000 | 24000 ~ 96000 |
22050 | 32000 ~ 128000 |
24000 | 32000 ~ 128000 |
32000 | 48000 ~ 192000 |
44100 | 64000 ~ 320000 |
48000 | 64000 ~ 320000 |
RecorderManager.pause()
暂停录音。
RecorderManager.resume()
继续录音。
RecorderManager.stop()
停止录音。
RecorderManager.onStart(function callback)
录音开始事件回调。
RecorderManager.onPause(function callback)
录音暂停事件回调。
RecorderManager.onResume(function callback)
录音继续事件的回调。
RecorderManager.onStop(function callback)
录音停止事件回调。回调函数的参数为 Object,属性如下:
属性 | 类型 | 说明 | 最低支持版本 |
---|---|---|---|
tempFilePath | string | 录音文件的地址 | 1.0.0 |
RecorderManager.onFrameRecorded(function callback)
监听已录制完指定帧大小的文件事件。如果设置了 frameSize,则会回调此事件。
回调函数的参数为 Object,属性如下:
属性 | 类型 | 说明 | 最低支持版本 |
---|---|---|---|
frameBuffer | ArrayBuffer | 录音分片数据 | 1.0.0 |
isLastFrame | boolean | 当前帧是否正常录音结束前的最后一帧 | 1.0.0 |
RecorderManager.onError(function callback)
录音错误事件回调。回调函数的参数为 Object,属性如下:
属性 | 类型 | 说明 | 最低支持版本 |
---|---|---|---|
errMsg | string | 错误信息 | 1.0.0 |
代码示例
const recorderManager = tt.getRecorderManager();
recorderManager.onStart(() => {
console.log("recorder start");
});
recorderManager.onPause(() => {
console.log("recorder pause");
});
recorderManager.onStop(res => {
console.log("recorder stop", res);
const { tempFilePath } = res;
});
const options = {
duration: 10000,
sampleRate: 44100,
numberOfChannels: 1,
encodeBitRate: 192000,
format: "aac",
frameSize: 50
};
recorderManager.start(options);
Bug & Tip
- Tip:start方法暂不支持format和audioSource参数。
- Tip:目前 iOS 输出格式为 m4a,安卓输出格式为 wav。后续安卓端也会输出 m4a。