getRecorderManager 1.0.0+

获取全局唯一recorderManager。通过recorderManager进行录音操作和管理。

recorderManager支持方法列表

start(options)

开始录音,传入的options对象参数有:

名称 数据类型 属性 默认值 描述
duration number optional 60000 录音自动完成时长,单位ms
sampleRate number optional 44100 采样率,有效值可以是8000, 16000, 44100
numberOfChannels number optional 1 录音通道数,有效值可以是12
encodeBitRate number optional `` 码率
frameSize number optional `` 帧大小,单位KB。如果设置了值,那么每当录音内容达到帧大小时会通过onFrameRecorded返回内容。

WARNING

已知问题,暂时不支持设置format。目前ios只可返回aac(m4a)格式,安卓只可返回wav格式,请注意!

sampleRateencodeBitRate的对应关系如下:

采样率 编码码率
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

pause()

暂停录音

resume()

继续录音

stop()

停止录音

onStart(() => {})

录音开始事件回调

onPause(() => {})

录音暂停事件回调

onStop((res) => {})

录音停止事件回调,res对象带有一个类型为string的属性tempFilePath,表示录音文件的地址。

onError((res) => {})

录音错误事件回调,res对象带有一个类型为string的属性errMsg,表示错误信息。

代码示例

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);

已知问题

  • start方法暂不支持audioSource参数
  • 目前ios输出格式为m4a,安卓输出格式为wav。后续Android端也会输出m4a