RecorderManager.start
JS
RecorderManager.start(Object options)开始录音
异步操作,录音成功开始后触发 onStart 回调。
参数
- Object options: 录音配置参数,具体的属性见下表
options 的属性说明:
| 属性 | 键值类型 | 默认值 | 是否必填 | 说明 |
|---|---|---|---|---|
| duration | number | 60000 | 否 | 录音的最大时长,单位 ms。最大值 600000 (10 分钟),超过上限自动钳位。录音到达 duration 后自动停止并触发 onStop |
| sampleRate | number | 8000 | 否 | 采样率 (Hz),合法值: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000 |
| numberOfChannels | number | 2 | 否 | 录音通道数,合法值: 1 (单声道), 2 (双声道)。不合法值自动修正为 2 |
| encodeBitRate | number | 48000 | 否 | 编码码率 (bps),仅 format 为 "aac" 或 "mp3" 时有效。有效范围取决于 sampleRate,详见下方约束表 |
| format | string | "aac" | 否 | 编码格式,合法值: "aac", "mp3", "wav", "PCM" |
| frameSize | number | 否 | 指定帧大小,单位 KB。设置后触发 onFrameRecorded 回调,不设置或设置为 0 则不触发 | |
| audioSource | string | "auto" | 否 | 音频输入源,合法值: "auto", "buildInMic", "headsetMic", "mic", "camcorder", "voiceCommunication", "voiceRecognition"。不合法值自动修正为 "auto" |
sampleRate 与 encodeBitRate 约束表:
| sampleRate (Hz) | encodeBitRate 有效范围 (bps) |
|---|---|
| 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 |
sampleRate 不在合法值列表内,或 encodeBitRate 超出对应采样率的有效范围时,start 将失败并触发 onError。当 format 为 "wav" 或 "PCM" 时,encodeBitRate 参数无意义 (码率由采样率、声道数、位深直接决定),此时忽略该参数,不做校验。
format 说明:
| format 值 | 输出文件扩展名 | 说明 |
|---|---|---|
| "aac" | .aac | AAC 编码,ADTS 封装 |
| "mp3" | .mp3 | MP3 编码 |
| "wav" | .wav | WAV 容器 + PCM 原始数据,文件较大 |
| "PCM" | .pcm | 裸 PCM 原始数据,无文件头,文件较大 |
