Skip to main content
版本:v3+

Recorder

API_LEVEL 3.0 开始支持,API 兼容性请参考 API_LEVEL

录制器控制器,用于将音频录制到小程序 data 目录中的文件。

属性

event

属性类型必填默认值说明API_LEVEL
STARTnumber-开始录制后的结果通知3.0
STOPnumber-录制停止3.0

state

属性类型必填默认值说明API_LEVEL
IDLEnumber-初始状态3.0
PREPARINGnumber-正在申请资源3.0
STARTINGnumber-正在开始录制3.0
RECORDINGnumber-正在录制3.0

方法

setFormat

设置录制格式和输出文件。codec 参考 codec 值,当前支持 codec.OPUSoptions.target_file 指定输出文件路径,仅支持小程序 data 目录,例如 data://record_file.opus

setFormat(codecValue: typeof codec.OPUS, options: { target_file: string }): void

start

开始录制

start(): void

stop

停止录制

stop(): void

getStatus

获取录制器状态,返回值含义参考 recorder.state

getStatus(): number

addEventListener

事件监听,用于录制器状态监听,当状态发生变化时会触发 callback

addEventListener(event: number, callback: (result: boolean | undefined) => void): void

代码示例

import { codec, create, id } from '@zos/media'

const recorder = create(id.RECORDER)
recorder.addEventListener(recorder.event.START, (result) => {
if (result) console.log('recording started')
})
recorder.addEventListener(recorder.event.STOP, () => {
console.log('recording stopped')
})
recorder.setFormat(codec.OPUS, {
target_file: 'data://record.opus',
})
recorder.start()
recorder.getStatus()
recorder.stop()