字节跳动小程序开发API getRecorderManager
2019-08-20 16:50 更新
获取全局唯一的recorderManager。通过recorderManager进行录音操作和管理。
recorderManager支持方法列表
start(options)
开始录音,传入的options对象参数有:
名称 | 数据类型 | 属性 | 默认值 | 描述 |
---|---|---|---|---|
duration
|
number
|
optional | 60000
|
录音自动完成时长,单位ms
|
sampleRate
|
number
|
optional | 44100
|
采样率,有效值可以是8000 , 16000 , 44100
|
numberOfChannels
|
number
|
optional | 1
|
录音通道数,有效值可以是1 或2
|
encodeBitRate
|
number
|
optional | `` | 码率 |
format
|
string
|
optional | mp3
|
音频格式,有效值可以是mp3 或aac
|
frameSize
|
number
|
optional | `` | 帧大小,单位KB 。如果设置了值,那么每当录音内容达到帧大小时会通过onFrameRecorded 返回内容。 |
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 |
pause()
暂停录音
resume()
继续录音
stop()
停止录音
onStart(() => {})
录音开始事件回调
onPause(() => {})
录音暂停事件回调
onStop((res) => {})
录音停止事件回调,res对象带有一个类型为string的属性tempFilePath,表示录音文件的地址。
onFrameRecorded((res) => {})
录音片段完成事件回调,res的属性包括:
名称 | 数据类型 | 描述 |
---|---|---|
frameBuffer
|
arraybuffer
|
帧数据 |
isLastFrame
|
boolean
|
是否为最后一帧 |
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
});
recorderManager.onFrameRecorded((res) => {
const { frameBuffer } = res
console.log('frameBuffer.byteLength', frameBuffer.byteLength)
});
const options = {
duration: 10000,
sampleRate: 44100,
numberOfChannels: 1,
encodeBitRate: 192000,
format: 'aac',
frameSize: 50
};
recorderManager.start(options);
已知问题
- start方法暂不支持audioSource参数
以上内容是否对您有帮助:
更多建议: