# getRecorderManager
获取全局唯一的 recorderManager
。通过 recorderManager
进行录音操作和管理。
注意事项:
- recorderManager全局唯一跟共享
- 如果多次调用 getRecorderManager ,则会获取同一个录音管理器的实例,对实例下同一方法的多次调用可能会导致回调被覆写。建议只使用一个录音管理器来操作录音
# 支持说明
应用能力 | Android | iOS | PC | 预览效果 |
---|---|---|---|---|
小程序 | 3.9.0 | 3.7.0 | X | 扫码预览 用BoosHi扫码或PC端点击 |
网页应用 | 待开发 | 待开发 | X | 待提供 |
# 输入
无
# 输出
返回值:
名称 | 数据类型 | 描述 |
---|---|---|
recorderManager | object | RecorderManager 对象 |
∟ start | function | 开始录音 |
∟ pause | function | 暂停录音 |
∟ resume | function | 继续录音 |
∟ stop | function | 停止录音 |
∟ onStart | function | 录音开始事件回调 |
∟ onPause | function | 录音暂停事件回调 |
∟ onResume | function | 录音恢复事件回调 |
∟ onStop | function | 录音停止事件回调,res对象带有一个类型为string的属性tempFilePath,表示录音文件的地址。 |
∟ onFrameRecorded | function | 监听已录制完指定帧大小的文件事件。 如果设置了 frameSize,则会回调此事件。 |
∟ onError | function | 监听录音错误事件 |
# 示例代码
const recorderManager = bz.getRecorderManager();
recorderManager.onStart(() => {
console.log('recorder start')
});
recorderManager.onPause(() => {
console.log('recorder pause')
});
recorderManager.onResume(() => {
console.log('recorder onResume')
});
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);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30