Skip to content

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.durationnumber最长录音 ms,默认 60000
options.sampleRatenumber默认 16000
options.numberOfChannelsnumber默认 1
options.encodeBitRatenumber默认 48000
options.format'mp3' | 'aac' | 'wav'默认 'mp3'
options.frameSizenumber默认 50
depsRecordInMiniappDeps环境依赖

返回值

类型说明
Promise<RecordResult>onStop resolve,含临时文件路径与时长;错误 reject

stopRecordInMiniapp

函数签名

typescript
function stopRecordInMiniapp(deps: RecordInMiniappDeps): void

返回值

类型说明
void停止模块级缓存的录音管理器

playRecordInMiniapp

函数签名

typescript
function playRecordInMiniapp(filePath: string, deps: RecordInMiniappDeps): Promise<void>

参数

参数名类型必填说明
filePathstring临时音频路径

返回值

类型说明
Promise<void>播放结束 resolve

工作原理

  1. recordInApp 逻辑一致:单例 RecorderManageronStop 时 resolve Promise。
  2. 小程序需在 app.json 声明录音权限,用户拒绝时 onError reject。
  3. 播放完成后销毁 InnerAudioContext 释放资源。