• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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'&nbsp;\|&nbsp;'start'&nbsp;\|  'pause' \| ’resume‘ \|&nbsp;'stop'&nbsp;\|&nbsp;'release'&nbsp;\|&nbsp;'reset'。<br/>-&nbsp;'prepare'&nbsp;:完成prepare调用,音频录制参数设置完成,触发该事件。<br/>-&nbsp;'start'&nbsp;:完成start调用,音频录制开始,触发该事件。<br/>-&nbsp;'pause': 完成pause调用,音频暂停录制,触发该事件。<br/>-&nbsp;'resume': 完成resume调用,音频恢复录制,触发该事件。<br/>-&nbsp;'stop'&nbsp;:完成stop调用,音频停止录制,触发该事件。<br/>-&nbsp;'release'&nbsp;:完成release调用,音频释放录制资源,触发该事件。<br/>-&nbsp;'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/>-&nbsp;'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```