# 音频录制
## 导入模块
```
import media from '@ohos.multimedia.media';
```
## 权限
无
## createAudioRecorder\(\): AudioRecorder
创建音频录制的实例来控制音频的录制。
- 参数:
无
- 返回值
- 示例
```
var audiorecorder = media.createAudioRecorder();
```
## AudioRecorder
音频录制管理类,用于录制音频媒体。在调用AudioRecorder的方法前,需要先通过[createAudioRecorder\(\)](#section582314017253)构建一个AudioRecorder实例。
### prepare\(config: AudioRecorderConfig\): void
录音准备。
- 参数:
- 返回值:
无
- 示例:
```
let audioRecorderConfig = {
audioEncoder : AAC_LC ,
audioEncodeBitRate : 22050,
audioSampleRate : 22050,
numberOfChannels : 2,
format : AAC_ADTS,
uri : 'file:///data/accounts/account_0/appdata/appdata/recorder/test.m4a',
}
audiorecorder.prepare(audioRecorderConfig)
```
## start\(\): void
开始录音。
- 参数:
无
- 返回值:
无
- 示例:
```
audiorecorder.start();
```
## stop\(\): void
停止录音。
- 参数:
无
- 返回值:
无
- 示例:
```
audiorecorder.stop();
```
## release\(\): void
释放录音资源。
- 参数:
无
- 返回值:
无
- 示例:
```
audiorecorder.release();
```
## reset\(\): void
重置录音。
进行重置录音之前,需要先调用stop\(\)停止录音。重置录音之后,需要调用prepare\(\)设置录音配置项,才能再次进行录音。
- 参数:
无
- 返回值:
无
- 示例:
```
audiorecorder.reset();
```
## on\(type: string, callback: \(\) =\> void\): void
开始订阅音频录制事件。
- 参数:
参数名
|
类型
|
必填
|
说明
|
type
|
string
|
是
|
录制事件回调类型,支持的事件包括:'prepare' | 'start' | 'stop' | 'release' | 'reset'。
- 'prepare' :音频录制准备完成后,触发该事件。
- 'start' :音频录制开始后,触发该事件。
- 'stop' :音频录制停止后,触发该事件。
- 'release' :音频录制相关资源释放后,触发该事件。
- 'reset':音频录制重置后,触发该事件。
|
callback
|
function
|
是
|
录制事件回调方法。
|
- 返回值:
无
- 示例:
```
audiorecorder.on('prepare', () => {
console.log('Preparation succeeded.');
audiorecorder.start();
});
```
## on\(type: string, callback: ErrorCallback\): void
开始订阅音频录制错误事件。
- 参数:
参数名
|
类型
|
必填
|
说明
|
type
|
string
|
是
|
录制错误事件回调类型'error'。
- 'error':音频录制过程中发生错误,触发该事件。
|
callback
|
ErrorCallback
|
是
|
录制错误事件回调方法。
|
- 返回值:
无
### 事件
AudioRecorder支持订阅以下事件。
名称
|
参数
|
描述
|
prepare
|
-
|
音频录制准备完成后,触发该事件。
|
start
|
-
|
音频录制开始后,触发该事件。
|
stop
|
-
|
音频录制停止后,触发该事件。
|
release
|
-
|
音频录制相关资源释放后,触发该事件。
|
reset
|
-
|
音频录制重置后,触发该事件。
|
error
|
callback
|
音频录制过程中发生错误,触发该事件。
|
**表 1** error事件的参数说明
参数名
|
类型
|
说明
|
callback
|
ErrorCallback
|
错误事件的回调函数。
|
## AudioRecorderConfig
表示音频的录音配置。
名称
|
参数类型
|
必填
|
说明
|
audioEncoder
|
AudioEncoder
|
否
|
音频编码格式,默认设置为AAC_LC。
|
audioEncodeBitRate
|
number
|
否
|
音频编码比特率,默认值为48000。
|
audioSampleRate
|
number
|
否
|
音频采集采样率,默认值为48000。
|
numberOfChannels
|
number
|
否
|
音频采集声道数,默认值为2。
|
format
|
AudioOutputFormat
|
否
|
音量输出封装格式,默认设置为MPEG_4。
|
uri
|
string
|
是
|
音频输出URI。支持:
- 文件的绝对路径:file:///data/data/ohos.xxx.xxx/cache/test.mp4
 - 文件的fd路径:file://1 (fd number)
|
## AudioEncoder
表示音频编码格式的枚举。
名称
|
默认值
|
说明
|
AAC_LC
|
3
|
AAC-LC(Advanced Audio Coding Low Complexity)编码格式。
|
## AudioOutputFormat
表示音频封装格式的枚举。
名称
|
默认值
|
说明
|
MPEG_4
|
2
|
封装为MPEG-4格式。
|
AAC_ADTS
|
6
|
封装为ADTS(Audio Data Transport Stream)格式,是AAC音频的传输流格式。
|