1# 废弃的Interface (AudioRecorder, deprecated) 2<!--Kit: Media Kit--> 3<!--Subsystem: Multimedia--> 4<!--Owner: @wang-haizhou6--> 5<!--Designer: @HmQQQ--> 6<!--Tester: @xchaosioda--> 7<!--Adviser: @zengyawen--> 8 9> **说明:** 10> 11> 从API version 6开始支持,从API version 9开始废弃,建议使用[AVRecorder](arkts-apis-media-AVRecorder.md)替代。 12 13音频录制管理类,用于录制音频媒体。在调用AudioRecorder的方法前,需要先通过[createAudioRecorder()](arkts-apis-media-f.md#mediacreateaudiorecorderdeprecated) 构建一个AudioRecorder实例。 14 15## 导入模块 16 17```ts 18import { media } from '@kit.MediaKit'; 19``` 20 21## prepare<sup>(deprecated)</sup> 22 23prepare(config: AudioRecorderConfig): void 24 25录音准备。 26 27> **说明:** 28> 从API version 6开始支持,从API version 9开始废弃,建议使用[AVRecorder.prepare](arkts-apis-media-AVRecorder.md#prepare9)替代。 29 30**需要权限:** ohos.permission.MICROPHONE 31 32**系统能力:** SystemCapability.Multimedia.Media.AudioRecorder 33 34**参数:** 35 36| 参数名 | 类型 | 必填 | 说明 | 37| ------ | ------------------------------------------- | ---- | ------------------------------------------------------------ | 38| config | [AudioRecorderConfig](arkts-apis-media-i.md#audiorecorderconfigdeprecated) | 是 | 配置录音的相关参数,包括音频输出URI、编码格式、采样率、声道数、输出格式等。 | 39 40**错误码:** 41 42以下错误码的详细介绍请参见[媒体错误码](errorcode-media.md)。 43 44| 错误码ID | 错误信息 | 45| -------- | --------------------- | 46| 201 | permission denied | 47 48**示例:** 49 50```ts 51let audioRecorderConfig: media.AudioRecorderConfig = { 52 audioEncoder : media.AudioEncoder.AAC_LC, 53 audioEncodeBitRate : 64000, 54 audioSampleRate : 44100, 55 numberOfChannels : 2, 56 format : media.AudioOutputFormat.AAC_ADTS, 57 uri : 'fd://1', // 文件需先由调用者创建,并给予适当的权限。 58 location : { latitude : 30, longitude : 130}, 59}; 60audioRecorder.on('prepare', () => { //设置'prepare'事件回调。 61 console.info('prepare called'); 62}); 63audioRecorder.prepare(audioRecorderConfig); 64``` 65 66## start<sup>(deprecated)</sup> 67 68start(): void 69 70开始录制,需在'prepare'事件成功触发后,才能调用start方法。 71 72> **说明:** 73> 从API version 6开始支持,从API version 9开始废弃,建议使用[AVRecorder.start](arkts-apis-media-AVRecorder.md#start9)替代。 74 75**系统能力:** SystemCapability.Multimedia.Media.AudioRecorder 76 77**示例:** 78 79```ts 80audioRecorder.on('start', () => { //设置'start'事件回调。 81 console.info('audio recorder start called'); 82}); 83audioRecorder.start(); 84``` 85 86## pause<sup>(deprecated)</sup> 87 88pause():void 89 90暂停录制,需要在'start'事件成功触发后,才能调用pause方法。 91 92> **说明:** 93> 从API version 6开始支持,从API version 9开始废弃,建议使用[AVRecorder.pause](arkts-apis-media-AVRecorder.md#pause9)替代。 94 95**系统能力:** SystemCapability.Multimedia.Media.AudioRecorder 96 97**示例:** 98 99```ts 100audioRecorder.on('pause', () => { //设置'pause'事件回调。 101 console.info('audio recorder pause called'); 102}); 103audioRecorder.pause(); 104``` 105 106## resume<sup>(deprecated)</sup> 107 108resume():void 109 110恢复录制,需要在'pause'事件成功触发后,才能调用resume方法。 111 112> **说明:** 113> 从API version 6开始支持,从API version 9开始废弃,建议使用[AVRecorder.resume](arkts-apis-media-AVRecorder.md#resume9)替代。 114 115**系统能力:** SystemCapability.Multimedia.Media.AudioRecorder 116 117**示例:** 118 119```ts 120audioRecorder.on('resume', () => { //设置'resume'事件回调。 121 console.info('audio recorder resume called'); 122}); 123audioRecorder.resume(); 124``` 125 126## stop<sup>(deprecated)</sup> 127 128stop(): void 129 130停止录音。 131 132> **说明:** 133> 从API version 6开始支持,从API version 9开始废弃,建议使用[AVRecorder.stop](arkts-apis-media-AVRecorder.md#stop9)替代。 134 135**系统能力:** SystemCapability.Multimedia.Media.AudioRecorder 136 137**示例:** 138 139```ts 140audioRecorder.on('stop', () => { //设置'stop'事件回调。 141 console.info('audio recorder stop called'); 142}); 143audioRecorder.stop(); 144``` 145 146## release<sup>(deprecated)</sup> 147 148release(): void 149 150释放录音资源。 151 152> **说明:** 153> 从API version 6开始支持,从API version 9开始废弃,建议使用[AVRecorder.release](arkts-apis-media-AVRecorder.md#release9)替代。 154 155**系统能力:** SystemCapability.Multimedia.Media.AudioRecorder 156 157**示例:** 158 159```ts 160audioRecorder.on('release', () => { //设置'release'事件回调。 161 console.info('audio recorder release called'); 162}); 163audioRecorder.release(); 164audioRecorder = undefined; 165``` 166 167## reset<sup>(deprecated)</sup> 168 169reset(): void 170 171重置录音。 172 173进行重置录音之前,需要先调用stop()停止录音。重置录音之后,需要调用prepare()设置录音参数项,才能再次进行录音。 174 175> **说明:** 176> 从API version 6开始支持,从API version 9开始废弃,建议使用[AVRecorder.reset](arkts-apis-media-AVRecorder.md#reset9)替代。 177 178**系统能力:** SystemCapability.Multimedia.Media.AudioRecorder 179 180**示例:** 181 182```ts 183audioRecorder.on('reset', () => { //设置'reset'事件回调。 184 console.info('audio recorder reset called'); 185}); 186audioRecorder.reset(); 187``` 188 189## on('prepare' | 'start' | 'pause' | 'resume' | 'stop' | 'release' | 'reset')<sup>(deprecated)</sup> 190 191on(type: 'prepare' | 'start' | 'pause' | 'resume' | 'stop' | 'release' | 'reset', callback: () => void): void 192 193开始订阅音频录制事件。 194 195> **说明:** 196> 从API version 6开始支持,从API version 9开始废弃,建议使用[AVRecorder.on('stateChange')](arkts-apis-media-AVRecorder.md#onstatechange9)替代。 197 198**系统能力:** SystemCapability.Multimedia.Media.AudioRecorder 199 200**参数:** 201 202| 参数名 | 类型 | 必填 | 说明 | 203| -------- | -------- | ---- | ------------------------------------------------------------ | 204| type | string | 是 | 录制事件回调类型,支持的事件包括:'prepare' \| 'start' \| 'pause' \| ’resume‘ \| 'stop' \| 'release' \| 'reset'。<br/>- 'prepare' :完成prepare调用,音频录制参数设置完成,触发该事件。<br/>- 'start' :完成start调用,音频录制开始,触发该事件。<br/>- 'pause': 完成pause调用,音频暂停录制,触发该事件。<br/>- 'resume': 完成resume调用,音频恢复录制,触发该事件。<br/>- 'stop' :完成stop调用,音频停止录制,触发该事件。<br/>- 'release' :完成release调用,音频释放录制资源,触发该事件。<br/>- 'reset':完成reset调用,音频重置为初始状态,触发该事件。 | 205| callback | ()=>void | 是 | 录制事件回调方法。 | 206 207**示例:** 208 209```ts 210import { BusinessError } from '@kit.BasicServicesKit'; 211 212let audioRecorder: media.AudioRecorder = media.createAudioRecorder(); // 创建一个音频录制实例。 213let audioRecorderConfig: media.AudioRecorderConfig = { 214 audioEncoder : media.AudioEncoder.AAC_LC, 215 audioEncodeBitRate : 64000, 216 audioSampleRate : 44100, 217 numberOfChannels : 2, 218 format : media.AudioOutputFormat.AAC_ADTS, 219 uri : 'fd://xx', // 文件需先由调用者创建,并给予适当的权限。 220 location : { latitude : 30, longitude : 130} 221}; 222audioRecorder.on('error', (error: BusinessError) => { // 设置'error'事件回调。 223 console.error(`audio error called, error: ${error}`); 224}); 225audioRecorder.on('prepare', () => { // 设置'prepare'事件回调。 226 console.info('prepare called'); 227 audioRecorder.start(); // 开始录制,并触发'start'事件回调。 228}); 229audioRecorder.on('start', () => { // 设置'start'事件回调。 230 console.info('audio recorder start called'); 231}); 232audioRecorder.on('pause', () => { // 设置'pause'事件回调。 233 console.info('audio recorder pause called'); 234}); 235audioRecorder.on('resume', () => { // 设置'resume'事件回调。 236 console.info('audio recorder resume called'); 237}); 238audioRecorder.on('stop', () => { // 设置'stop'事件回调。 239 console.info('audio recorder stop called'); 240}); 241audioRecorder.on('release', () => { // 设置'release'事件回调。 242 console.info('audio recorder release called'); 243}); 244audioRecorder.on('reset', () => { // 设置'reset'事件回调。 245 console.info('audio recorder reset called'); 246}); 247audioRecorder.prepare(audioRecorderConfig) // 设置录制参数 ,并触发'prepare'事件回调。 248``` 249 250## on('error')<sup>(deprecated)</sup> 251 252on(type: 'error', callback: ErrorCallback): void 253 254开始订阅音频录制错误事件,当上报error错误事件后,用户需处理error事件,退出录制操作。 255 256> **说明:** 257> 从API version 6开始支持,从API version 9开始废弃,建议使用[AVRecorder.on('error')](arkts-apis-media-AVRecorder.md#onerror9)替代。 258 259**系统能力:** SystemCapability.Multimedia.Media.AudioRecorder 260 261**参数:** 262 263| 参数名 | 类型 | 必填 | 说明 | 264| -------- | ------------- | ---- | ------------------------------------------------------------ | 265| type | string | 是 | 录制错误事件回调类型'error'。<br/>- 'error':音频录制过程中发生错误,触发该事件。 | 266| callback | [ErrorCallback](../apis-basic-services-kit/js-apis-base.md#errorcallback) | 是 | 录制错误事件回调方法。 | 267 268**示例:** 269 270```ts 271import { BusinessError } from '@kit.BasicServicesKit'; 272 273let audioRecorderConfig: media.AudioRecorderConfig = { 274 audioEncoder : media.AudioEncoder.AAC_LC, 275 audioEncodeBitRate : 22050, 276 audioSampleRate : 22050, 277 numberOfChannels : 2, 278 format : media.AudioOutputFormat.AAC_ADTS, 279 uri : 'fd://xx', // 文件需先由调用者创建,并给予适当的权限。 280 location : { latitude : 30, longitude : 130} 281}; 282audioRecorder.on('error', (error: BusinessError) => { // 设置'error'事件回调。 283 console.error(`audio error called, error: ${error}`); 284}); 285audioRecorder.prepare(audioRecorderConfig); // prepare不设置参数,触发'error'事件。 286```