Recorder
API_LEVEL
3.0开始支持,API 兼容性请参考 API_LEVEL。
录制器控制器,用于将音频录制到小程序 data 目录中的文件。
属性
event
| 属性 | 类型 | 必填 | 默认值 | 说明 | API_LEVEL |
|---|---|---|---|---|---|
| START | number | 是 | - | 开始录制后的结果通知 | 3.0 |
| STOP | number | 是 | - | 录制停止 | 3.0 |
state
| 属性 | 类型 | 必填 | 默认值 | 说明 | API_LEVEL |
|---|---|---|---|---|---|
| IDLE | number | 是 | - | 初始状态 | 3.0 |
| PREPARING | number | 是 | - | 正在申请资源 | 3.0 |
| STARTING | number | 是 | - | 正在开始录制 | 3.0 |
| RECORDING | number | 是 | - | 正在录制 | 3.0 |
方法
setFormat
设置录制格式和输出文件。codec 参考 codec 值,当前支持 codec.OPUS;options.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()