recordermanager.start(object object)
基础库 或更高版本; 且 支付宝客户端 10.1.60 或更高版本; 若版本较低,建议采取 兼容处理 。
支小宝客户端 支持
安诊儿客户端 支持
小程序开发者工具: 不支持。请以真机调试结果为准。
主体: 企业支付宝小程序 、 个人支付宝小程序
开始录音。
object object
查看示例
属性 | 类型 | 默认值 | 必填 | 兼容性 | 描述 |
---|---|---|---|---|---|
duration | number | 60000 | 否 | - | 录音的时长,最大值 600000(10 分钟)。单位:ms。 |
format | string | aac | 否 | - | 音频格式,支持格式:aac、mp3,参数值需小写。 |
hidetips | boolean | false | 否 | 支付宝: 10.1.85 |
隐藏录音图标。 |
numberofchannels | number | 1 | 否 | - | 录音通道数。可传 1 或 2。 |
samplerate | number | 安卓: 8000 ios: 44100 |
否 | - | 采样率。有效值见下方 采样率(samplerate)的合法值 表。 |
encodebitrate | number | 安卓: 32000 ios: 192000 |
否 | - | 编码码率。有效值见下方 采样率与编码码率限制 表。 |
audiosource | string | auto | 否 | - | 指定录音的音频输入源,可通过 my.getavailableaudiosources 获取当前可用的音频源。 |
framesize | number | - | 否 | 支付宝: 10.1.80 |
指定帧大小,单位 kb。 |
detectdecibel | boolean | false | 否 | 支付宝: 10.2.0 |
检测声音分贝数。 |
采样率(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。 |
const recordermanager = my.getrecordermanager ();
recordermanager.start ({
duration: 60000,
});
包含录音、播放音频完整的示例代码请参考 recordermanager 概览 中的示例代码,或者下载 。
-
tip请确保录音时长超过 1s,否则无法触发 recordermanager.onstop 监听事件,且会报错,错误码 error:7 ,错误码在 recordermanager.onerror 中监听返回。
q:如果系统权限未开启,onerror 事件监听到错误,如何引导开启相关系统权限?
可对 onerror 接口监听函数参数返回的错误码值进行条件判断,然后调用 my.showauthguide 引导用户开启相关系统权限。
recordermanager.onerror((res) => {
if (res.error === 10) {
// 引导用户开启相关系统权限
my.showauthguide({
authtype: "microphone",
});
}
});