RecorderManager

全局唯一的录音管理器。


方法

RecorderManager.start(Object object)

开始录音。传入的参数为对象,属性如下:

属性类型默认值必填说明最低支持版本
durationnumber60000录音自动完成时长,单位 ms1.0.0
sampleRatenumber8000采样率,有效值可以是 8000, 16000, 441001.0.0
numberOfChannelsnumber1录音通道数,有效值可以是 1 或 21.0.0
encodeBitRatenumber48000码率1.0.0
frameSizenumber帧大小,单位 KB。如果设置了值,那么每当录音内容达到帧大小时会通过onFrameRecorded返回内容。1.0.0

sampleRateencodeBitRate的对应关系如下:

采样率编码码率
800016000 ~ 48000
1102516000 ~ 48000
1200024000 ~ 64000
1600024000 ~ 96000
2205032000 ~ 128000
2400032000 ~ 128000
3200048000 ~ 192000
4410064000 ~ 320000
4800064000 ~ 320000

RecorderManager.pause()

暂停录音。

RecorderManager.resume()

继续录音。

RecorderManager.stop()

停止录音。

RecorderManager.onStart(function callback)

录音开始事件回调。

RecorderManager.onPause(function callback)

录音暂停事件回调。

RecorderManager.onResume(function callback)

录音继续事件的回调。

RecorderManager.onStop(function callback)

录音停止事件回调。回调函数的参数为 Object,属性如下:

属性类型说明最低支持版本
tempFilePathstring录音文件的地址1.0.0

RecorderManager.onFrameRecorded(function callback)

监听已录制完指定帧大小的文件事件。如果设置了 frameSize,则会回调此事件。

回调函数的参数为 Object,属性如下:

属性类型说明最低支持版本
frameBufferArrayBuffer录音分片数据1.0.0
isLastFrameboolean当前帧是否正常录音结束前的最后一帧1.0.0

RecorderManager.onError(function callback)

录音错误事件回调。回调函数的参数为 Object,属性如下:

属性类型说明最低支持版本
errMsgstring错误信息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方法暂不支持formataudioSource参数。
  • Tip:目前 iOS 输出格式为 m4a,安卓输出格式为 wav。后续安卓端也会输出 m4a。
点击纠错