RecorderManager.start
简介
开始录音。
使用限制
基础库 4.0.0
或更高版本支持。
参数
Object object
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
duration | number | 60000 | 否 | 录音的时长,单位 ms,最大值 600000(10 分钟) |
sampleRate | number | 8000 | 否 | 采样率(pc 不支持)有效值见下方 采样率(sampleRate)的合法值 表 |
numberOfChannels | number | 2 | 否 | 录音通道数。可传 1 或 2 |
encodeBitRate | number | 48000 | 否 | 编码码率。有效值见下方 采样率与编码码率限制 表。 |
format | string | aac | 否 | 音频格式。仅支持 aac |
audioSource | string | auto | 否 | 指定录音的音频输入源,可通过 dlt.getAvailableAudioSources() 获取当前可用的音频源 |
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
采样率(sampleRate)的合法值
值 | 说明 |
---|---|
8000 | 8000 采样率。 |
11025 | 11025 采样率。 |
12000 | 12000 采样率。 |
16000 | 16000 采样率。 |
22050 | 22050 采样率。 |
24000 | 24000 采样率。 |
32000 | 32000 采样率。 |
44100 | 44100 采样率。 |
48000 | 48000 采样率。 |
采样率与编码码率限制
每种采样率有对应的编码码率范围有效值,设置不合法的采样率或编码码率会导致录音失败,具体对应关系如下表:
采样率 | 编码码率 |
---|---|
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。 |
object.success 回调函数
参数
Object res
属性 | 类型 | 说明 |
---|---|---|
success | string | true-成功 |
object.fail 回调函数
参数
Object res
属性 | 类型 | 说明 |
---|---|---|
errMsg | string | 错误信息 |
success | string | false-失败 |
errMsg 说明
错误信息 | 说明 |
---|---|
Parameter error: A10001 | 参数不合法 |
Invalid sampleRate "sampleRate", sampleRate should be one of ${availableSampleRate}: A10002 | sampleRate 参数值不在可选值范围内 |
Invalid numberOfChannels ${numberOfChannels}, numberOfChannels should be one of ${availableChannels} : A10003 | numberOfChannels 参数值不在可选值范围内 |
Invalid encodeBitRate "encodeBitRate", encodeBitRate should be greater than $min and less than $max : A10004 | encodeBitRate 参数值不在可选范围内 |
Invalid format "format", format should be one of ${availableRecordingFormat} : A10005 | format 参数值不在可选值范围内 |
Invalid audioSource "audioSource", audioSource should be one of ${availableAudioSources} : A10006 | audioSource 参数值不在可选值范围内 |
Invalid duration $duration, duration should be between 0 and $maxDuration : A10007 | duration 参数值不在可选值范围内 |
Audio is recording, don't start record again : A10008 | 正在录音中,不要重复开始录音 |
Audio is paused, start record fail : A10009 | 录音暂停,开始录音失败 |
create record file is fail : A10010 | 创建录音文件失败 |
Audio failed with permission denied : A10011 | 没有录音权限 |
示例代码
// pages/index/index.js
Page({
start() {
const recorderManager = dlt.getRecorderManager();
const options = {
duration: 10000,
sampleRate: 44100,
numberOfChannels: 1,
encodeBitRate: 192000,
format: "aac",
};
recorderManager.start(options);
},
});