recordInMiniapp
小程序端录音与播放适配器,被 showRecord 内部调用。
前置依赖
typescript
interface RecordInMiniappDeps {
getRecorderManager: UniApp['getRecorderManager']
createInnerAudioContext: UniApp['createInnerAudioContext']
log: Console['log']
error: Console['error']
}| 依赖 | 说明 |
|---|---|
getRecorderManager | 小程序录音管理器 |
createInnerAudioContext | 播放录音 |
log / error | 日志 |
recordInMiniapp
函数签名
typescript
function recordInMiniapp(options?: RecordOptions, deps: RecordInMiniappDeps): Promise<RecordResult>参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
options.duration | number | 否 | 最长录音 ms,默认 60000 |
options.sampleRate | number | 否 | 默认 16000 |
options.numberOfChannels | number | 否 | 默认 1 |
options.encodeBitRate | number | 否 | 默认 48000 |
options.format | 'mp3' | 'aac' | 'wav' | 否 | 默认 'mp3' |
options.frameSize | number | 否 | 默认 50 |
deps | RecordInMiniappDeps | 是 | 环境依赖 |
返回值
| 类型 | 说明 |
|---|---|
Promise<RecordResult> | onStop resolve,含临时文件路径与时长;错误 reject |
stopRecordInMiniapp
函数签名
typescript
function stopRecordInMiniapp(deps: RecordInMiniappDeps): void返回值
| 类型 | 说明 |
|---|---|
void | 停止模块级缓存的录音管理器 |
playRecordInMiniapp
函数签名
typescript
function playRecordInMiniapp(filePath: string, deps: RecordInMiniappDeps): Promise<void>参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
filePath | string | 是 | 临时音频路径 |
返回值
| 类型 | 说明 |
|---|---|
Promise<void> | 播放结束 resolve |
工作原理
- 与 recordInApp 逻辑一致:单例
RecorderManager、onStop时 resolve Promise。 - 小程序需在
app.json声明录音权限,用户拒绝时onErrorreject。 - 播放完成后销毁
InnerAudioContext释放资源。