• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Interface (AudioManager)
2<!--Kit: Audio Kit-->
3<!--Subsystem: Multimedia-->
4<!--Owner: @songshenke-->
5<!--Designer: @caixuejiang; @hao-liangfei; @zhanganxiang-->
6<!--Tester: @Filger-->
7<!--Adviser: @zengyawen-->
8
9> **说明:**
10>
11> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
12
13管理音频音量和设备。
14
15在使用AudioManager的接口之前,需先通过[getAudioManager](arkts-apis-audio-f.md#audiogetaudiomanager)获取AudioManager实例。
16
17## 导入模块
18
19```ts
20import { audio } from '@kit.AudioKit';
21```
22
23## getAudioScene<sup>8+</sup>
24
25getAudioScene\(callback: AsyncCallback<AudioScene\>\): void
26
27获取音频场景模式。使用callback异步回调。
28
29**系统能力:** SystemCapability.Multimedia.Audio.Communication
30
31**参数:**
32
33| 参数名   | 类型                                                | 必填 | 说明                         |
34| :------- | :-------------------------------------------------- | :--- | :--------------------------- |
35| callback | AsyncCallback<[AudioScene](arkts-apis-audio-e.md#audioscene8)> | 是   | 回调函数。当获取音频场景模式成功,err为undefined,data为获取到的音频场景模式;否则为错误对象。 |
36
37**示例:**
38
39```ts
40import { BusinessError } from '@kit.BasicServicesKit';
41
42audioManager.getAudioScene((err: BusinessError, value: audio.AudioScene) => {
43  if (err) {
44    console.error(`Failed to obtain the audio scene mode. ${err}`);
45    return;
46  }
47  console.info(`Callback invoked to indicate that the audio scene mode is obtained ${value}.`);
48});
49```
50
51## getAudioScene<sup>8+</sup>
52
53getAudioScene\(\): Promise<AudioScene\>
54
55获取音频场景模式。使用Promise异步回调。
56
57**系统能力:** SystemCapability.Multimedia.Audio.Communication
58
59**返回值:**
60
61| 类型                                          | 说明                         |
62| :-------------------------------------------- | :--------------------------- |
63| Promise<[AudioScene](arkts-apis-audio-e.md#audioscene8)> | Promise对象,返回音频场景模式。 |
64
65**示例:**
66
67```ts
68import { BusinessError } from '@kit.BasicServicesKit';
69
70audioManager.getAudioScene().then((value: audio.AudioScene) => {
71  console.info(`Promise returned to indicate that the audio scene mode is obtained ${value}.`);
72}).catch ((err: BusinessError) => {
73  console.error(`Failed to obtain the audio scene mode ${err}`);
74});
75```
76
77## getAudioSceneSync<sup>10+</sup>
78
79getAudioSceneSync\(\): AudioScene
80
81获取音频场景模式。同步返回结果。
82
83**系统能力:** SystemCapability.Multimedia.Audio.Communication
84
85**返回值:**
86
87| 类型                                          | 说明                         |
88| :-------------------------------------------- | :--------------------------- |
89| [AudioScene](arkts-apis-audio-e.md#audioscene8) | 音频场景模式。 |
90
91**示例:**
92
93```ts
94import { BusinessError } from '@kit.BasicServicesKit';
95
96try {
97  let value: audio.AudioScene = audioManager.getAudioSceneSync();
98  console.info(`indicate that the audio scene mode is obtained ${value}.`);
99} catch (err) {
100  let error = err as BusinessError;
101  console.error(`Failed to obtain the audio scene mode ${error}`);
102}
103```
104
105## on('audioSceneChange')<sup>20+</sup>
106
107on(type: 'audioSceneChange', callback: Callback\<AudioScene\>): void
108
109监听音频场景变化事件。使用callback异步回调。
110
111**系统能力:** SystemCapability.Multimedia.Audio.Communication
112
113**参数:**
114
115| 参数名   | 类型                       | 必填 | 说明                                        |
116| :------- | :------------------------- | :--- | :------------------------------------------ |
117| type     | string                     | 是   | 事件回调类型,支持的事件为'audioSceneChange',当音频场景模式发生变化时,触发该事件。 |
118| callback | Callback\<[AudioScene](arkts-apis-audio-e.md#audioscene8)> | 是   | 回调函数,返回当前音频场景模式。 |
119
120**示例:**
121
122```ts
123audioManager.on('audioSceneChange', (audioScene: audio.AudioScene) => {
124  console.info(`audio scene : ${audioScene}.`);
125});
126```
127
128## off('audioSceneChange')<sup>20+</sup>
129
130off(type: 'audioSceneChange', callback?: Callback\<AudioScene\>): void
131
132取消监听音频场景变化事件。使用callback异步回调。
133
134**系统能力:** SystemCapability.Multimedia.Audio.Communication
135
136**参数:**
137
138| 参数名   | 类型                       | 必填 | 说明                                        |
139| :------- | :------------------------- | :--- | :------------------------------------------ |
140| type     | string                     | 是   | 事件回调类型,支持的事件为'audioSceneChange',当取消监听当前音频场景变化事件时,触发该事件。 |
141| callback | Callback\<[AudioScene](arkts-apis-audio-e.md#audioscene8)> | 否 | 回调函数,返回当前音频场景模式。 |
142
143**示例:**
144
145```ts
146// 取消该事件的所有监听。
147audioManager.off('audioSceneChange');
148
149// 同一监听事件中,on方法和off方法传入callback参数一致,off方法取消对应on方法订阅的监听。
150let audioSceneChangeCallback = (audioScene: audio.AudioScene) => {
151  console.info(`audio scene : ${audioScene}.`);
152};
153
154audioManager.on('audioSceneChange', audioSceneChangeCallback);
155
156audioManager.off('audioSceneChange', audioSceneChangeCallback);
157```
158
159## getVolumeManager<sup>9+</sup>
160
161getVolumeManager(): AudioVolumeManager
162
163获取音频音量管理器。
164
165**系统能力:** SystemCapability.Multimedia.Audio.Volume
166
167**返回值:**
168
169| 类型                                      | 说明                          |
170|-----------------------------------------| ----------------------------- |
171| [AudioVolumeManager](arkts-apis-audio-AudioVolumeManager.md) | AudioVolumeManager实例。 |
172
173**示例:**
174
175```ts
176import { audio } from '@kit.AudioKit';
177
178let audioVolumeManager: audio.AudioVolumeManager = audioManager.getVolumeManager();
179```
180
181## getStreamManager<sup>9+</sup>
182
183getStreamManager(): AudioStreamManager
184
185获取音频流管理器。
186
187**系统能力:** SystemCapability.Multimedia.Audio.Core
188
189**返回值:**
190
191| 类型                                         | 说明                          |
192|--------------------------------------------| ----------------------------- |
193| [AudioStreamManager](arkts-apis-audio-AudioStreamManager.md) | AudioStreamManager实例。 |
194
195**示例:**
196
197```ts
198import { audio } from '@kit.AudioKit';
199
200let audioStreamManager: audio.AudioStreamManager = audioManager.getStreamManager();
201```
202
203## getRoutingManager<sup>9+</sup>
204
205getRoutingManager(): AudioRoutingManager
206
207获取音频路由管理器。
208
209**系统能力:** SystemCapability.Multimedia.Audio.Device
210
211**返回值:**
212
213| 类型                                       | 说明                          |
214|------------------------------------------| ----------------------------- |
215| [AudioRoutingManager](arkts-apis-audio-AudioRoutingManager.md) | AudioRoutingManager实例。 |
216
217**示例:**
218
219```ts
220import { audio } from '@kit.AudioKit';
221
222let audioRoutingManager: audio.AudioRoutingManager = audioManager.getRoutingManager();
223```
224
225## getSessionManager<sup>12+</sup>
226
227getSessionManager(): AudioSessionManager
228
229获取音频会话管理器。
230
231**系统能力:** SystemCapability.Multimedia.Audio.Core
232
233**返回值:**
234
235| 类型                                           | 说明                          |
236|----------------------------------------------| ----------------------------- |
237| [AudioSessionManager](arkts-apis-audio-AudioSessionManager.md) | AudioSessionManager实例。 |
238
239**示例:**
240
241```ts
242import { audio } from '@kit.AudioKit';
243
244let audioSessionManager: audio.AudioSessionManager = audioManager.getSessionManager();
245```
246
247## getSpatializationManager<sup>18+</sup>
248
249getSpatializationManager(): AudioSpatializationManager
250
251获取空间音频管理器。
252
253**系统能力:** SystemCapability.Multimedia.Audio.Spatialization
254
255**返回值:**
256
257| 类型                                       | 说明                          |
258|------------------------------------------| ----------------------------- |
259| [AudioSpatializationManager](arkts-apis-audio-AudioSpatializationManager.md) | AudioSpatializationManager实例。 |
260
261**示例:**
262
263```ts
264import { audio } from '@kit.AudioKit';
265let audioSpatializationManager: audio.AudioSpatializationManager = audioManager.getSpatializationManager();
266```
267
268## setAudioParameter<sup>(deprecated)</sup>
269
270setAudioParameter(key: string, value: string, callback: AsyncCallback&lt;void&gt;): void
271
272音频参数设置。使用callback异步回调。
273
274接口根据硬件设备的支持能力扩展音频配置。支持的参数与产品和设备强相关,非通用参数,示例代码内使用样例参数。
275
276> **说明:**
277> 从API version 7开始支持,从API version 11开始废弃,替代接口仅面向系统应用开放。
278
279**需要权限:** ohos.permission.MODIFY_AUDIO_SETTINGS
280
281**系统能力:** SystemCapability.Multimedia.Audio.Core
282
283**参数:**
284
285| 参数名   | 类型                      | 必填 | 说明                     |
286| -------- | ------------------------- | ---- | ------------------------ |
287| key      | string                    | 是   | 被设置的音频参数的键。   |
288| value    | string                    | 是   | 被设置的音频参数的值。   |
289| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。当音频参数设置成功,err为undefined,否则为错误对象。 |
290
291**示例:**
292
293```ts
294import { BusinessError } from '@kit.BasicServicesKit';
295
296audioManager.setAudioParameter('key_example', 'value_example', (err: BusinessError) => {
297  if (err) {
298    console.error(`Failed to set the audio parameter. ${err}`);
299    return;
300  }
301  console.info('Callback invoked to indicate a successful setting of the audio parameter.');
302});
303```
304
305## setAudioParameter<sup>(deprecated)</sup>
306
307setAudioParameter(key: string, value: string): Promise&lt;void&gt;
308
309音频参数设置。使用Promise异步回调。
310
311接口根据硬件设备的支持能力扩展音频配置。支持的参数与产品和设备强相关,非通用参数,示例代码内使用样例参数。
312
313> **说明:**
314> 从API version 7开始支持,从API version 11开始废弃,替代接口仅面向系统应用开放。
315
316**需要权限:** ohos.permission.MODIFY_AUDIO_SETTINGS
317
318**系统能力:** SystemCapability.Multimedia.Audio.Core
319
320**参数:**
321
322| 参数名 | 类型   | 必填 | 说明                   |
323| ------ | ------ | ---- | ---------------------- |
324| key    | string | 是   | 被设置的音频参数的键。 |
325| value  | string | 是   | 被设置的音频参数的值。 |
326
327**返回值:**
328
329| 类型                | 说明                            |
330| ------------------- | ------------------------------- |
331| Promise&lt;void&gt; | Promise对象。无返回结果的Promise对象。 |
332
333**示例:**
334
335```ts
336audioManager.setAudioParameter('key_example', 'value_example').then(() => {
337  console.info('Promise returned to indicate a successful setting of the audio parameter.');
338});
339```
340
341## getAudioParameter<sup>(deprecated)</sup>
342
343getAudioParameter(key: string, callback: AsyncCallback&lt;string&gt;): void
344
345获取指定音频参数值。使用callback异步回调。
346
347本接口的使用场景为:根据硬件设备的支持能力扩展音频配置。在不同的设备平台上,所支持的音频参数会存在差异。示例代码内使用样例参数,实际支持的音频配置参数见具体设备平台的资料描述。
348
349> **说明:**
350> 从API version 7开始支持,从API version 11开始废弃,替代接口仅面向系统应用开放。
351
352**系统能力:** SystemCapability.Multimedia.Audio.Core
353
354**参数:**
355
356| 参数名   | 类型                        | 必填 | 说明                         |
357| -------- | --------------------------- | ---- | ---------------------------- |
358| key      | string                      | 是   | 待获取的音频参数的键。       |
359| callback | AsyncCallback&lt;string&gt; | 是   | 回调函数。当获取指定音频参数值成功,err为undefined,data为获取到的指定音频参数值;否则为错误对象。 |
360
361**示例:**
362
363```ts
364import { BusinessError } from '@kit.BasicServicesKit';
365
366audioManager.getAudioParameter('key_example', (err: BusinessError, value: string) => {
367  if (err) {
368    console.error(`Failed to obtain the value of the audio parameter. ${err}`);
369    return;
370  }
371  console.info(`Callback invoked to indicate that the value of the audio parameter is obtained ${value}.`);
372});
373```
374
375## getAudioParameter<sup>(deprecated)</sup>
376
377getAudioParameter(key: string): Promise&lt;string&gt;
378
379获取指定音频参数值。使用Promise异步回调。
380
381本接口的使用场景为:根据硬件设备的支持能力扩展音频配置。在不同的设备平台上,所支持的音频参数会存在差异。示例代码内使用样例参数,实际支持的音频配置参数见具体设备平台的资料描述。
382
383> **说明:**
384> 从API version 7开始支持,从API version 11开始废弃,替代接口仅面向系统应用开放。
385
386**系统能力:** SystemCapability.Multimedia.Audio.Core
387
388**参数:**
389
390| 参数名 | 类型   | 必填 | 说明                   |
391| ------ | ------ | ---- | ---------------------- |
392| key    | string | 是   | 待获取的音频参数的键。 |
393
394**返回值:**
395
396| 类型                  | 说明                                |
397| --------------------- | ----------------------------------- |
398| Promise&lt;string&gt; | Promise对象,返回获取的音频参数值。 |
399
400**示例:**
401
402```ts
403audioManager.getAudioParameter('key_example').then((value: string) => {
404  console.info(`Promise returned to indicate that the value of the audio parameter is obtained ${value}.`);
405});
406```
407
408## setVolume<sup>(deprecated)</sup>
409
410setVolume(volumeType: AudioVolumeType, volume: number, callback: AsyncCallback&lt;void&gt;): void
411
412设置指定流的音量。使用callback异步回调。
413
414> **说明:**
415>
416> 从API version 7开始支持,从API version 9开始废弃,替代接口仅面向系统应用开放。
417>
418> 应用无法直接调节系统音量,建议通过系统音量面板组件调节音量。具体样例和介绍请查看[AVVolumePanel参考文档](ohos-multimedia-avvolumepanel.md)。
419
420**需要权限:** ohos.permission.ACCESS_NOTIFICATION_POLICY
421
422仅设置铃声(即volumeType为AudioVolumeType.RINGTONE)在静音和非静音状态切换时需要该权限。
423
424**系统能力:** SystemCapability.Multimedia.Audio.Volume
425
426**参数:**
427
428| 参数名     | 类型                                | 必填 | 说明                                                     |
429| ---------- | ----------------------------------- | ---- | -------------------------------------------------------- |
430| volumeType | [AudioVolumeType](arkts-apis-audio-e.md#audiovolumetype) | 是   | 音量流类型。                                             |
431| volume     | number                              | 是   | 音量等级,可设置范围通过[getMinVolume](#getminvolumedeprecated)和[getMaxVolume](#getmaxvolumedeprecated)获取。 |
432| callback   | AsyncCallback&lt;void&gt;           | 是   | 回调函数。当设置指定流的音量成功,err为undefined,否则为错误对象。 |
433
434**示例:**
435
436```ts
437import { BusinessError } from '@kit.BasicServicesKit';
438
439audioManager.setVolume(audio.AudioVolumeType.MEDIA, 10, (err: BusinessError) => {
440  if (err) {
441    console.error(`Failed to set the volume. ${err}`);
442    return;
443  }
444  console.info('Callback invoked to indicate a successful volume setting.');
445});
446```
447
448## setVolume<sup>(deprecated)</sup>
449
450setVolume(volumeType: AudioVolumeType, volume: number): Promise&lt;void&gt;
451
452设置指定流的音量。使用Promise异步回调。
453
454> **说明:**
455>
456> 从API version 7开始支持,从API version 9开始废弃,替代接口仅面向系统应用开放。
457>
458> 应用无法直接调节系统音量,建议通过系统音量面板组件调节音量。具体样例和介绍请查看[AVVolumePanel参考文档](ohos-multimedia-avvolumepanel.md)。
459
460**需要权限:** ohos.permission.ACCESS_NOTIFICATION_POLICY
461
462仅设置铃声(即volumeType为AudioVolumeType.RINGTONE)在静音和非静音状态切换时需要该权限。
463
464**系统能力:** SystemCapability.Multimedia.Audio.Volume
465
466**参数:**
467
468| 参数名     | 类型                                | 必填 | 说明                                                     |
469| ---------- | ----------------------------------- | ---- | -------------------------------------------------------- |
470| volumeType | [AudioVolumeType](arkts-apis-audio-e.md#audiovolumetype) | 是   | 音量流类型。                                             |
471| volume     | number                              | 是   | 音量等级,可设置范围通过[getMinVolume](#getminvolumedeprecated)和[getMaxVolume](#getmaxvolumedeprecated)获取。 |
472
473**返回值:**
474
475| 类型                | 说明                          |
476| ------------------- | ----------------------------- |
477| Promise&lt;void&gt; | Promise对象。无返回结果的Promise对象。 |
478
479**示例:**
480
481```ts
482audioManager.setVolume(audio.AudioVolumeType.MEDIA, 10).then(() => {
483  console.info('Promise returned to indicate a successful volume setting.');
484});
485```
486
487## getVolume<sup>(deprecated)</sup>
488
489getVolume(volumeType: AudioVolumeType, callback: AsyncCallback&lt;number&gt;): void
490
491获取指定流的音量。使用callback异步回调。
492
493> **说明:**
494> 从API version 7开始支持,从API version 9开始废弃。在API 9-19建议使用[getVolume](arkts-apis-audio-AudioVolumeGroupManager.md#getvolumedeprecated)替代;API 20及以后,建议使用[getVolumeByStream](arkts-apis-audio-AudioVolumeManager.md#getvolumebystream20)替代。
495
496**系统能力:** SystemCapability.Multimedia.Audio.Volume
497
498**参数:**
499
500| 参数名     | 类型                                | 必填 | 说明               |
501| ---------- | ----------------------------------- | ---- | ------------------ |
502| volumeType | [AudioVolumeType](arkts-apis-audio-e.md#audiovolumetype) | 是   | 音量流类型。       |
503| callback   | AsyncCallback&lt;number&gt;         | 是   | 回调函数。当获取指定流的音量成功,err为undefined,data为获取到的指定流的音量;否则为错误对象。指定流的音量等级范围可通过[getMinVolume](#getminvolumedeprecated)和[getMaxVolume](#getmaxvolumedeprecated)获取。 |
504
505**示例:**
506
507```ts
508import { BusinessError } from '@kit.BasicServicesKit';
509
510audioManager.getVolume(audio.AudioVolumeType.MEDIA, (err: BusinessError, value: number) => {
511  if (err) {
512    console.error(`Failed to obtain the volume. ${err}`);
513    return;
514  }
515  console.info('Callback invoked to indicate that the volume is obtained.');
516});
517```
518
519## getVolume<sup>(deprecated)</sup>
520
521getVolume(volumeType: AudioVolumeType): Promise&lt;number&gt;
522
523获取指定流的音量。使用Promise异步回调。
524
525> **说明:**
526> 从API version 7开始支持,从API version 9开始废弃。在API 9-19建议使用[getVolume](arkts-apis-audio-AudioVolumeGroupManager.md#getvolumedeprecated)替代;API 20及以后,建议使用[getVolumeByStream](arkts-apis-audio-AudioVolumeManager.md#getvolumebystream20)替代。
527
528**系统能力:** SystemCapability.Multimedia.Audio.Volume
529
530**参数:**
531
532| 参数名     | 类型                                | 必填 | 说明         |
533| ---------- | ----------------------------------- | ---- | ------------ |
534| volumeType | [AudioVolumeType](arkts-apis-audio-e.md#audiovolumetype) | 是   | 音量流类型。 |
535
536**返回值:**
537
538| 类型                  | 说明                      |
539| --------------------- | ------------------------- |
540| Promise&lt;number&gt; | Promise对象,返回指定流的音量。指定流的音量等级范围可通过[getMinVolume](#getminvolumedeprecated)和[getMaxVolume](#getmaxvolumedeprecated)获取。 |
541
542**示例:**
543
544```ts
545audioManager.getVolume(audio.AudioVolumeType.MEDIA).then((value: number) => {
546  console.info(`Promise returned to indicate that the volume is obtained ${value} .`);
547});
548```
549
550## getMinVolume<sup>(deprecated)</sup>
551
552getMinVolume(volumeType: AudioVolumeType, callback: AsyncCallback&lt;number&gt;): void
553
554获取指定流的最小音量。使用callback异步回调。
555
556> **说明:**
557> 从API version 7开始支持,从API version 9开始废弃。在API 9-19建议使用[getMinVolume](arkts-apis-audio-AudioVolumeGroupManager.md#getminvolumedeprecated)替代;API 20及以后,建议使用[getMinVolumeByStream](arkts-apis-audio-AudioVolumeManager.md#getminvolumebystream20)替代。
558
559**系统能力:** SystemCapability.Multimedia.Audio.Volume
560
561**参数:**
562
563| 参数名     | 类型                                | 必填 | 说明               |
564| ---------- | ----------------------------------- | ---- | ------------------ |
565| volumeType | [AudioVolumeType](arkts-apis-audio-e.md#audiovolumetype) | 是   | 音量流类型。       |
566| callback   | AsyncCallback&lt;number&gt;         | 是   | 回调函数。当获取指定流的最小音量成功,err为undefined,data为获取到的指定流的最小音量;否则为错误对象。 |
567
568**示例:**
569
570```ts
571import { BusinessError } from '@kit.BasicServicesKit';
572
573audioManager.getMinVolume(audio.AudioVolumeType.MEDIA, (err: BusinessError, value: number) => {
574  if (err) {
575    console.error(`Failed to obtain the minimum volume. ${err}`);
576    return;
577  }
578  console.info(`Callback invoked to indicate that the minimum volume is obtained. ${value}`);
579});
580```
581
582## getMinVolume<sup>(deprecated)</sup>
583
584getMinVolume(volumeType: AudioVolumeType): Promise&lt;number&gt;
585
586获取指定流的最小音量。使用Promise异步回调。
587
588> **说明:**
589> 从API version 7开始支持,从API version 9开始废弃。在API 9-19建议使用[getMinVolume](arkts-apis-audio-AudioVolumeGroupManager.md#getminvolumedeprecated)替代;API 20及以后,建议使用[getMinVolumeByStream](arkts-apis-audio-AudioVolumeManager.md#getminvolumebystream20)替代。
590
591**系统能力:** SystemCapability.Multimedia.Audio.Volume
592
593**参数:**
594
595| 参数名     | 类型                                | 必填 | 说明         |
596| ---------- | ----------------------------------- | ---- | ------------ |
597| volumeType | [AudioVolumeType](arkts-apis-audio-e.md#audiovolumetype) | 是   | 音量流类型。 |
598
599**返回值:**
600
601| 类型                  | 说明                      |
602| --------------------- | ------------------------- |
603| Promise&lt;number&gt; | Promise对象,返回最小音量。 |
604
605**示例:**
606
607```ts
608audioManager.getMinVolume(audio.AudioVolumeType.MEDIA).then((value: number) => {
609  console.info(`Promised returned to indicate that the minimum volume is obtained. ${value}`);
610});
611```
612
613## getMaxVolume<sup>(deprecated)</sup>
614
615getMaxVolume(volumeType: AudioVolumeType, callback: AsyncCallback&lt;number&gt;): void
616
617获取指定流的最大音量。使用callback异步回调。
618
619> **说明:**
620> 从API version 7开始支持,从API version 9开始废弃。在API 9-19建议使用[getMaxVolume](arkts-apis-audio-AudioVolumeGroupManager.md#getmaxvolumedeprecated)替代;API 20及以后,建议使用[getMaxVolumeByStream](arkts-apis-audio-AudioVolumeManager.md#getmaxvolumebystream20)替代。
621
622**系统能力:** SystemCapability.Multimedia.Audio.Volume
623
624**参数:**
625
626| 参数名     | 类型                                | 必填 | 说明                   |
627| ---------- | ----------------------------------- | ---- | ---------------------- |
628| volumeType | [AudioVolumeType](arkts-apis-audio-e.md#audiovolumetype) | 是   | 音量流类型。           |
629| callback   | AsyncCallback&lt;number&gt;         | 是   | 回调函数。当获取指定流的最大音量成功,err为undefined,data为获取到的指定流的最大音量;否则为错误对象。 |
630
631**示例:**
632
633```ts
634import { BusinessError } from '@kit.BasicServicesKit';
635
636audioManager.getMaxVolume(audio.AudioVolumeType.MEDIA, (err: BusinessError, value: number) => {
637  if (err) {
638    console.error(`Failed to obtain the maximum volume. ${err}`);
639    return;
640  }
641  console.info(`Callback invoked to indicate that the maximum volume is obtained. ${value}`);
642});
643```
644
645## getMaxVolume<sup>(deprecated)</sup>
646
647getMaxVolume(volumeType: AudioVolumeType): Promise&lt;number&gt;
648
649获取指定流的最大音量。使用Promise异步回调。
650
651> **说明:**
652> 从API version 7开始支持,从API version 9开始废弃。在API 9-19建议使用[getMaxVolume](arkts-apis-audio-AudioVolumeGroupManager.md#getmaxvolumedeprecated)替代;API 20及以后,建议使用[getMaxVolumeByStream](arkts-apis-audio-AudioVolumeManager.md#getmaxvolumebystream20)替代。
653
654**系统能力:** SystemCapability.Multimedia.Audio.Volume
655
656**参数:**
657
658| 参数名     | 类型                                | 必填 | 说明         |
659| ---------- | ----------------------------------- | ---- | ------------ |
660| volumeType | [AudioVolumeType](arkts-apis-audio-e.md#audiovolumetype) | 是   | 音量流类型。 |
661
662**返回值:**
663
664| 类型                  | 说明                          |
665| --------------------- | ----------------------------- |
666| Promise&lt;number&gt; | Promise对象,返回最大音量。 |
667
668**示例:**
669
670```ts
671audioManager.getMaxVolume(audio.AudioVolumeType.MEDIA).then((data: number) => {
672  console.info('Promised returned to indicate that the maximum volume is obtained.');
673});
674```
675
676## mute<sup>(deprecated)</sup>
677
678mute(volumeType: AudioVolumeType, mute: boolean, callback: AsyncCallback&lt;void&gt;): void
679
680设置指定音量流静音。使用callback异步回调。
681
682当该音量流可设置的最小音量不能为0时,不支持静音操作。例如:闹钟和通话。
683
684> **说明:**
685> 从API version 7开始支持,从API version 9开始废弃,替代接口仅面向系统应用开放。
686
687**系统能力:** SystemCapability.Multimedia.Audio.Volume
688
689**参数:**
690
691| 参数名     | 类型                                | 必填 | 说明                                  |
692| ---------- | ----------------------------------- | ---- | ------------------------------------- |
693| volumeType | [AudioVolumeType](arkts-apis-audio-e.md#audiovolumetype) | 是   | 音量流类型。                          |
694| mute       | boolean                             | 是   | 是否设置指定音量流为静音状态。true表示静音,false表示非静音。 |
695| callback   | AsyncCallback&lt;void&gt;           | 是   | 回调函数。当设置指定音量流静音成功,err为undefined,否则为错误对象。 |
696
697**示例:**
698
699```ts
700import { BusinessError } from '@kit.BasicServicesKit';
701
702audioManager.mute(audio.AudioVolumeType.MEDIA, true, (err: BusinessError) => {
703  if (err) {
704    console.error(`Failed to mute the stream. ${err}`);
705    return;
706  }
707  console.info('Callback invoked to indicate that the stream is muted.');
708});
709```
710
711## mute<sup>(deprecated)</sup>
712
713mute(volumeType: AudioVolumeType, mute: boolean): Promise&lt;void&gt;
714
715设置指定音量流静音。使用Promise异步回调。
716
717当该音量流可设置的最小音量不能为0时,不支持静音操作。例如:闹钟和通话。
718
719> **说明:**
720> 从API version 7开始支持,从API version 9开始废弃,替代接口仅面向系统应用开放。
721
722**系统能力:** SystemCapability.Multimedia.Audio.Volume
723
724**参数:**
725
726| 参数名     | 类型                                | 必填 | 说明                                  |
727| ---------- | ----------------------------------- | ---- | ------------------------------------- |
728| volumeType | [AudioVolumeType](arkts-apis-audio-e.md#audiovolumetype) | 是   | 音量流类型。                          |
729| mute       | boolean                             | 是   | 是否设置指定音量流为静音状态。true表示静音,false表示非静音。 |
730
731**返回值:**
732
733| 类型                | 说明                          |
734| ------------------- | ----------------------------- |
735| Promise&lt;void&gt; | Promise对象。无返回结果的Promise对象。 |
736
737**示例:**
738
739
740```ts
741audioManager.mute(audio.AudioVolumeType.MEDIA, true).then(() => {
742  console.info('Promise returned to indicate that the stream is muted.');
743});
744```
745
746## isMute<sup>(deprecated)</sup>
747
748isMute(volumeType: AudioVolumeType, callback: AsyncCallback&lt;boolean&gt;): void
749
750获取指定音量流的静音状态。使用callback异步回调。
751
752> **说明:**
753> 从API version 7开始支持,从API version 9开始废弃。在API 9-19建议使用[isMute](arkts-apis-audio-AudioVolumeGroupManager.md#ismutedeprecated)替代;API 20及以后,建议使用[isSystemMutedForStream](arkts-apis-audio-AudioVolumeManager.md#issystemmutedforstream20)替代。
754
755**系统能力:** SystemCapability.Multimedia.Audio.Volume
756
757**参数:**
758
759| 参数名     | 类型                                | 必填 | 说明                                            |
760| ---------- | ----------------------------------- | ---- | ----------------------------------------------- |
761| volumeType | [AudioVolumeType](arkts-apis-audio-e.md#audiovolumetype) | 是   | 音量流类型。                                    |
762| callback   | AsyncCallback&lt;boolean&gt;        | 是   | 回调函数。当获取指定音量流的静音状态成功,err为undefined,data为true表示静音,false表示非静音;否则为错误对象。 |
763
764**示例:**
765
766```ts
767import { BusinessError } from '@kit.BasicServicesKit';
768
769audioManager.isMute(audio.AudioVolumeType.MEDIA, (err: BusinessError, value: boolean) => {
770  if (err) {
771    console.error(`Failed to obtain the mute status. ${err}`);
772    return;
773  }
774  console.info(`Callback invoked to indicate that the mute status of the stream is obtained. ${value}`);
775});
776```
777
778## isMute<sup>(deprecated)</sup>
779
780isMute(volumeType: AudioVolumeType): Promise&lt;boolean&gt;
781
782获取指定音量流的静音状态。使用Promise异步回调。
783
784> **说明:**
785> 从API version 7开始支持,从API version 9开始废弃。在API 9-19建议使用[isMute](arkts-apis-audio-AudioVolumeGroupManager.md#ismutedeprecated)替代;API 20及以后,建议使用[isSystemMutedForStream](arkts-apis-audio-AudioVolumeManager.md#issystemmutedforstream20)替代。
786
787**系统能力:** SystemCapability.Multimedia.Audio.Volume
788
789**参数:**
790
791| 参数名     | 类型                                | 必填 | 说明         |
792| ---------- | ----------------------------------- | ---- | ------------ |
793| volumeType | [AudioVolumeType](arkts-apis-audio-e.md#audiovolumetype) | 是   | 音量流类型。 |
794
795**返回值:**
796
797| 类型                   | 说明                                                   |
798| ---------------------- | ------------------------------------------------------ |
799| Promise&lt;boolean&gt; | Promise对象。返回true表示静音;返回false表示非静音。 |
800
801**示例:**
802
803```ts
804audioManager.isMute(audio.AudioVolumeType.MEDIA).then((value: boolean) => {
805  console.info(`Promise returned to indicate that the mute status of the stream is obtained ${value}.`);
806});
807```
808
809## isActive<sup>(deprecated)</sup>
810
811isActive(volumeType: AudioVolumeType, callback: AsyncCallback&lt;boolean&gt;): void
812
813获取指定音量流的活跃状态。使用callback异步回调。
814
815> **说明:**
816> 从API version 7开始支持,从API version 9开始废弃。在API 9-19建议使用[isActive](arkts-apis-audio-AudioStreamManager.md#isactivedeprecated)替代;API 20及以后,建议使用[isStreamActive](arkts-apis-audio-AudioStreamManager.md#isstreamactive20)替代。
817
818**系统能力:** SystemCapability.Multimedia.Audio.Volume
819
820**参数:**
821
822| 参数名     | 类型                                | 必填 | 说明                                              |
823| ---------- | ----------------------------------- | ---- | ------------------------------------------------- |
824| volumeType | [AudioVolumeType](arkts-apis-audio-e.md#audiovolumetype) | 是   | 音量流类型。                                      |
825| callback   | AsyncCallback&lt;boolean&gt;        | 是   | 回调函数。当获取指定音量流的活跃状态成功,err为undefined,data为true表示活跃,false表示不活跃;否则为错误对象。 |
826
827**示例:**
828
829```ts
830import { BusinessError } from '@kit.BasicServicesKit';
831
832audioManager.isActive(audio.AudioVolumeType.MEDIA, (err: BusinessError, value: boolean) => {
833  if (err) {
834    console.error(`Failed to obtain the active status of the stream. ${err}`);
835    return;
836  }
837  console.info(`Callback invoked to indicate that the active status of the stream is obtained ${value}.`);
838});
839```
840
841## isActive<sup>(deprecated)</sup>
842
843isActive(volumeType: AudioVolumeType): Promise&lt;boolean&gt;
844
845获取指定音量流的活跃状态。使用Promise异步回调。
846
847> **说明:**
848> 从API version 7开始支持,从API version 9开始废弃。在API 9-19建议使用[isActive](arkts-apis-audio-AudioStreamManager.md#isactivedeprecated)替代;API 20及以后,建议使用[isStreamActive](arkts-apis-audio-AudioStreamManager.md#isstreamactive20)替代。
849
850**系统能力:** SystemCapability.Multimedia.Audio.Volume
851
852**参数:**
853
854| 参数名     | 类型                                | 必填 | 说明         |
855| ---------- | ----------------------------------- | ---- | ------------ |
856| volumeType | [AudioVolumeType](arkts-apis-audio-e.md#audiovolumetype) | 是   | 音量流类型。 |
857
858**返回值:**
859
860| 类型                   | 说明                                                     |
861| ---------------------- | -------------------------------------------------------- |
862| Promise&lt;boolean&gt; | Promise对象。返回true表示流状态为活跃;返回false表示流状态不活跃。 |
863
864**示例:**
865
866```ts
867audioManager.isActive(audio.AudioVolumeType.MEDIA).then((value: boolean) => {
868  console.info(`Promise returned to indicate that the active status of the stream is obtained ${value}.`);
869});
870```
871
872## setRingerMode<sup>(deprecated)</sup>
873
874setRingerMode(mode: AudioRingMode, callback: AsyncCallback&lt;void&gt;): void
875
876设置铃声模式。使用callback异步回调。
877
878> **说明:**
879> 从API version 7开始支持,从API version 9开始废弃,替代接口仅面向系统应用开放。
880
881**需要权限:** ohos.permission.ACCESS_NOTIFICATION_POLICY
882
883仅在静音和非静音状态切换时需要该权限。
884
885**系统能力:** SystemCapability.Multimedia.Audio.Communication
886
887**参数:**
888
889| 参数名   | 类型                            | 必填 | 说明                     |
890| -------- | ------------------------------- | ---- | ------------------------ |
891| mode     | [AudioRingMode](arkts-apis-audio-e.md#audioringmode) | 是   | 音频铃声模式。           |
892| callback | AsyncCallback&lt;void&gt;       | 是   | 回调函数。当设置铃声模式成功,err为undefined,否则为错误对象。 |
893
894**示例:**
895
896```ts
897import { BusinessError } from '@kit.BasicServicesKit';
898
899audioManager.setRingerMode(audio.AudioRingMode.RINGER_MODE_NORMAL, (err: BusinessError) => {
900  if (err) {
901    console.error(`Failed to set the ringer mode. ${err}`);
902    return;
903  }
904  console.info('Callback invoked to indicate a successful setting of the ringer mode.');
905});
906```
907
908## setRingerMode<sup>(deprecated)</sup>
909
910setRingerMode(mode: AudioRingMode): Promise&lt;void&gt;
911
912设置铃声模式。使用Promise异步回调。
913
914> **说明:**
915> 从API version 7开始支持,从API version 9开始废弃,替代接口仅面向系统应用开放。
916
917
918**需要权限:** ohos.permission.ACCESS_NOTIFICATION_POLICY
919
920仅在静音和非静音状态切换时需要该权限。
921
922**系统能力:** SystemCapability.Multimedia.Audio.Communication
923
924**参数:**
925
926| 参数名 | 类型                            | 必填 | 说明           |
927| ------ | ------------------------------- | ---- | -------------- |
928| mode   | [AudioRingMode](arkts-apis-audio-e.md#audioringmode) | 是   | 音频铃声模式。 |
929
930**返回值:**
931
932| 类型                | 说明                            |
933| ------------------- | ------------------------------- |
934| Promise&lt;void&gt; | Promise对象。无返回结果的Promise对象。 |
935
936**示例:**
937
938```ts
939audioManager.setRingerMode(audio.AudioRingMode.RINGER_MODE_NORMAL).then(() => {
940  console.info('Promise returned to indicate a successful setting of the ringer mode.');
941});
942```
943
944## getRingerMode<sup>(deprecated)</sup>
945
946getRingerMode(callback: AsyncCallback&lt;AudioRingMode&gt;): void
947
948获取铃声模式。使用callback异步回调。
949
950> **说明:**
951> 从API version 7开始支持,从API version 9开始废弃,建议使用[getRingerMode](arkts-apis-audio-AudioVolumeGroupManager.md#getringermode9)替代。
952
953**系统能力:** SystemCapability.Multimedia.Audio.Communication
954
955**参数:**
956
957| 参数名   | 类型                                                 | 必填 | 说明                     |
958| -------- | ---------------------------------------------------- | ---- | ------------------------ |
959| callback | AsyncCallback&lt;[AudioRingMode](arkts-apis-audio-e.md#audioringmode)&gt; | 是   | 回调函数。当获取铃声模式成功,err为undefined,data为获取到的铃声模式;否则为错误对象。 |
960
961**示例:**
962
963```ts
964import { BusinessError } from '@kit.BasicServicesKit';
965
966audioManager.getRingerMode((err: BusinessError, value: audio.AudioRingMode) => {
967  if (err) {
968    console.error(`Failed to obtain the ringer mode. ${err}`);
969    return;
970  }
971  console.info(`Callback invoked to indicate that the ringer mode is obtained ${value}.`);
972});
973```
974
975## getRingerMode<sup>(deprecated)</sup>
976
977getRingerMode(): Promise&lt;AudioRingMode&gt;
978
979获取铃声模式。使用Promise异步回调。
980
981> **说明:**
982> 从API version 7开始支持,从API version 9开始废弃,建议使用[getRingerMode](arkts-apis-audio-AudioVolumeGroupManager.md#getringermode9)替代。
983
984**系统能力:** SystemCapability.Multimedia.Audio.Communication
985
986**返回值:**
987
988| 类型                                           | 说明                            |
989| ---------------------------------------------- | ------------------------------- |
990| Promise&lt;[AudioRingMode](arkts-apis-audio-e.md#audioringmode)&gt; | Promise对象,返回系统的铃声模式。 |
991
992**示例:**
993
994```ts
995audioManager.getRingerMode().then((value: audio.AudioRingMode) => {
996  console.info(`Promise returned to indicate that the ringer mode is obtained ${value}.`);
997});
998```
999
1000## getDevices<sup>(deprecated)</sup>
1001
1002getDevices(deviceFlag: DeviceFlag, callback: AsyncCallback&lt;AudioDeviceDescriptors&gt;): void
1003
1004获取音频设备列表。使用callback异步回调。
1005
1006> **说明:**
1007> 从API version 7开始支持,从API version 9开始废弃,建议使用[getDevices](arkts-apis-audio-AudioRoutingManager.md#getdevices9)替代。
1008
1009**系统能力:** SystemCapability.Multimedia.Audio.Device
1010
1011**参数:**
1012
1013| 参数名     | 类型                                                         | 必填 | 说明                 |
1014| ---------- | ------------------------------------------------------------ | ---- | -------------------- |
1015| deviceFlag | [DeviceFlag](arkts-apis-audio-e.md#deviceflag)                                    | 是   | 音频设备类型。     |
1016| callback   | AsyncCallback&lt;[AudioDeviceDescriptors](arkts-apis-audio-t.md#audiodevicedescriptors)&gt; | 是   | 回调函数。当获取音频设备列表成功,err为undefined,data为获取到的音频设备列表;否则为错误对象。 |
1017
1018**示例:**
1019```ts
1020import { BusinessError } from '@kit.BasicServicesKit';
1021
1022audioManager.getDevices(audio.DeviceFlag.OUTPUT_DEVICES_FLAG, (err: BusinessError, value: audio.AudioDeviceDescriptors) => {
1023  if (err) {
1024    console.error(`Failed to obtain the device list. ${err}`);
1025    return;
1026  }
1027  console.info('Callback invoked to indicate that the device list is obtained.');
1028});
1029```
1030
1031## getDevices<sup>(deprecated)</sup>
1032
1033getDevices(deviceFlag: DeviceFlag): Promise&lt;AudioDeviceDescriptors&gt;
1034
1035获取音频设备列表。使用Promise异步回调。
1036
1037> **说明:**
1038> 从API version 7开始支持,从API version 9开始废弃,建议使用[getDevices](arkts-apis-audio-AudioRoutingManager.md#getdevices9)替代。
1039
1040**系统能力:** SystemCapability.Multimedia.Audio.Device
1041
1042**参数:**
1043
1044| 参数名     | 类型                      | 必填 | 说明             |
1045| ---------- | ------------------------- | ---- | ---------------- |
1046| deviceFlag | [DeviceFlag](arkts-apis-audio-e.md#deviceflag) | 是   | 音频设备类型。 |
1047
1048**返回值:**
1049
1050| 类型                                                         | 说明                      |
1051| ------------------------------------------------------------ | ------------------------- |
1052| Promise&lt;[AudioDeviceDescriptors](arkts-apis-audio-t.md#audiodevicedescriptors)&gt; | Promise对象,返回设备列表。 |
1053
1054**示例:**
1055
1056```ts
1057audioManager.getDevices(audio.DeviceFlag.OUTPUT_DEVICES_FLAG).then((data: audio.AudioDeviceDescriptors) => {
1058  console.info('Promise returned to indicate that the device list is obtained.');
1059});
1060```
1061
1062## setDeviceActive<sup>(deprecated)</sup>
1063
1064setDeviceActive(deviceType: ActiveDeviceType, active: boolean, callback: AsyncCallback&lt;void&gt;): void
1065
1066设置设备激活状态。使用callback异步回调。
1067
1068> **说明:**
1069> 从API version 7开始支持,从API version 9开始废弃,建议使用[setCommunicationDevice](arkts-apis-audio-AudioRoutingManager.md#setcommunicationdevice9)替代。
1070
1071**系统能力:** SystemCapability.Multimedia.Audio.Device
1072
1073**参数:**
1074
1075| 参数名     | 类型                                  | 必填 | 说明          |
1076| ---------- | ------------------------------------- | ---- |-------------|
1077| deviceType | [ActiveDeviceType](arkts-apis-audio-e.md#activedevicetypedeprecated) | 是   | 活跃音频设备类型。   |
1078| active     | boolean                               | 是   | 是否设置设备为激活状态。true表示已激活,false表示未激活。 |
1079| callback   | AsyncCallback&lt;void&gt;             | 是   | 回调函数。当设置设备激活状态成功,err为undefined,否则为错误对象。 |
1080
1081**示例:**
1082
1083```ts
1084import { BusinessError } from '@kit.BasicServicesKit';
1085
1086audioManager.setDeviceActive(audio.ActiveDeviceType.SPEAKER, true, (err: BusinessError) => {
1087  if (err) {
1088    console.error(`Failed to set the active status of the device. ${err}`);
1089    return;
1090  }
1091  console.info('Callback invoked to indicate that the device is set to the active status.');
1092});
1093```
1094
1095## setDeviceActive<sup>(deprecated)</sup>
1096
1097setDeviceActive(deviceType: ActiveDeviceType, active: boolean): Promise&lt;void&gt;
1098
1099设置设备激活状态。使用Promise异步回调。
1100
1101> **说明:**
1102> 从API version 7开始支持,从API version 9开始废弃,建议使用[setCommunicationDevice](arkts-apis-audio-AudioRoutingManager.md#setcommunicationdevice9)替代。
1103
1104**系统能力:** SystemCapability.Multimedia.Audio.Device
1105
1106**参数:**
1107
1108| 参数名     | 类型                                  | 必填 | 说明               |
1109| ---------- | ------------------------------------- | ---- | ------------------ |
1110| deviceType | [ActiveDeviceType](arkts-apis-audio-e.md#activedevicetypedeprecated) | 是   | 活跃音频设备类型。 |
1111| active     | boolean                               | 是   | 是否设置设备为激活状态。true表示已激活,false表示未激活。 |
1112
1113**返回值:**
1114
1115| 类型                | 说明                            |
1116| ------------------- | ------------------------------- |
1117| Promise&lt;void&gt; | Promise对象。无返回结果的Promise对象。 |
1118
1119**示例:**
1120
1121
1122```ts
1123audioManager.setDeviceActive(audio.ActiveDeviceType.SPEAKER, true).then(() => {
1124  console.info('Promise returned to indicate that the device is set to the active status.');
1125});
1126```
1127
1128## isDeviceActive<sup>(deprecated)</sup>
1129
1130isDeviceActive(deviceType: ActiveDeviceType, callback: AsyncCallback&lt;boolean&gt;): void
1131
1132获取指定设备的激活状态。使用callback异步回调。
1133
1134> **说明:**
1135> 从API version 7开始支持,从API version 9开始废弃,建议使用[isCommunicationDeviceActive](arkts-apis-audio-AudioRoutingManager.md#iscommunicationdeviceactive9)替代。
1136
1137**系统能力:** SystemCapability.Multimedia.Audio.Device
1138
1139**参数:**
1140
1141| 参数名     | 类型                                  | 必填 | 说明                     |
1142| ---------- | ------------------------------------- | ---- | ------------------------ |
1143| deviceType | [ActiveDeviceType](arkts-apis-audio-e.md#activedevicetypedeprecated) | 是   | 活跃音频设备类型。       |
1144| callback   | AsyncCallback&lt;boolean&gt;          | 是   | 回调函数。当获取指定设备的激活状态成功,err为undefined,data为true表示激活,false表示未激活;否则为错误对象。 |
1145
1146**示例:**
1147
1148```ts
1149import { BusinessError } from '@kit.BasicServicesKit';
1150
1151audioManager.isDeviceActive(audio.ActiveDeviceType.SPEAKER, (err: BusinessError, value: boolean) => {
1152  if (err) {
1153    console.error(`Failed to obtain the active status of the device. ${err}`);
1154    return;
1155  }
1156  console.info('Callback invoked to indicate that the active status of the device is obtained.');
1157});
1158```
1159
1160## isDeviceActive<sup>(deprecated)</sup>
1161
1162isDeviceActive(deviceType: ActiveDeviceType): Promise&lt;boolean&gt;
1163
1164获取指定设备的激活状态。使用Promise异步回调。
1165
1166> **说明:**
1167> 从API version 7开始支持,从API version 9开始废弃,建议使用[isCommunicationDeviceActive](arkts-apis-audio-AudioRoutingManager.md#iscommunicationdeviceactive9)替代。
1168
1169**系统能力:** SystemCapability.Multimedia.Audio.Device
1170
1171**参数:**
1172
1173| 参数名     | 类型                                  | 必填 | 说明               |
1174| ---------- | ------------------------------------- | ---- | ------------------ |
1175| deviceType | [ActiveDeviceType](arkts-apis-audio-e.md#activedevicetypedeprecated) | 是   | 活跃音频设备类型。 |
1176
1177**返回值:**
1178
1179| 类型                   | 说明                                   |
1180| ---------------------- |---------------------------------------|
1181| Promise&lt;boolean&gt; | Promise对象。返回true表示设备已激活;返回false表示设备未激活。 |
1182
1183**示例:**
1184
1185```ts
1186audioManager.isDeviceActive(audio.ActiveDeviceType.SPEAKER).then((value: boolean) => {
1187  console.info(`Promise returned to indicate that the active status of the device is obtained ${value}.`);
1188});
1189```
1190
1191## setMicrophoneMute<sup>(deprecated)</sup>
1192
1193setMicrophoneMute(mute: boolean, callback: AsyncCallback&lt;void&gt;): void
1194
1195设置麦克风静音状态。使用callback异步回调。
1196
1197> **说明:**
1198> 从API version 7开始支持,从API version 9开始废弃,替代接口仅面向系统应用开放。
1199
1200**需要权限:** ohos.permission.MICROPHONE
1201
1202**系统能力:** SystemCapability.Multimedia.Audio.Device
1203
1204**参数:**
1205
1206| 参数名   | 类型                      | 必填 | 说明                                          |
1207| -------- | ------------------------- | ---- | --------------------------------------------- |
1208| mute     | boolean                   | 是   | 是否设置麦克风为静音状态。true表示静音,false表示非静音。 |
1209| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。当设置麦克风静音状态成功,err为undefined,否则为错误对象。 |
1210
1211**示例:**
1212
1213```ts
1214import { BusinessError } from '@kit.BasicServicesKit';
1215
1216audioManager.setMicrophoneMute(true, (err: BusinessError) => {
1217  if (err) {
1218    console.error(`Failed to mute the microphone. ${err}`);
1219    return;
1220  }
1221  console.info('Callback invoked to indicate that the microphone is muted.');
1222});
1223```
1224
1225## setMicrophoneMute<sup>(deprecated)</sup>
1226
1227setMicrophoneMute(mute: boolean): Promise&lt;void&gt;
1228
1229设置麦克风静音状态。使用Promise异步回调。
1230
1231> **说明:**
1232> 从API version 7开始支持,从API version 9开始废弃,替代接口仅面向系统应用开放。
1233
1234**需要权限:** ohos.permission.MICROPHONE
1235
1236**系统能力:** SystemCapability.Multimedia.Audio.Device
1237
1238**参数:**
1239
1240| 参数名 | 类型    | 必填 | 说明                                          |
1241| ------ | ------- | ---- | --------------------------------------------- |
1242| mute   | boolean | 是   | 是否设置麦克风为静音状态。true表示静音,false表示非静音。 |
1243
1244**返回值:**
1245
1246| 类型                | 说明                            |
1247| ------------------- | ------------------------------- |
1248| Promise&lt;void&gt; | Promise对象。无返回结果的Promise对象。 |
1249
1250**示例:**
1251
1252```ts
1253audioManager.setMicrophoneMute(true).then(() => {
1254  console.info('Promise returned to indicate that the microphone is muted.');
1255});
1256```
1257
1258## isMicrophoneMute<sup>(deprecated)</sup>
1259
1260isMicrophoneMute(callback: AsyncCallback&lt;boolean&gt;): void
1261
1262获取麦克风静音状态。使用callback异步回调。
1263
1264> **说明:**
1265> 从API version 7开始支持,从API version 9开始废弃,建议使用[isMicrophoneMute](arkts-apis-audio-AudioVolumeGroupManager.md#ismicrophonemute9)替代。
1266
1267**需要权限:** ohos.permission.MICROPHONE
1268
1269**系统能力:** SystemCapability.Multimedia.Audio.Device
1270
1271**参数:**
1272
1273| 参数名   | 类型                         | 必填 | 说明                                                    |
1274| -------- | ---------------------------- | ---- | ------------------------------------------------------- |
1275| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。当获取麦克风静音状态成功,err为undefined,data为true表示静音,false表示非静音;否则为错误对象。 |
1276
1277**示例:**
1278
1279```ts
1280import { BusinessError } from '@kit.BasicServicesKit';
1281
1282audioManager.isMicrophoneMute((err: BusinessError, value: boolean) => {
1283  if (err) {
1284    console.error(`Failed to obtain the mute status of the microphone. ${err}`);
1285    return;
1286  }
1287  console.info(`Callback invoked to indicate that the mute status of the microphone is obtained ${value}.`);
1288});
1289```
1290
1291## isMicrophoneMute<sup>(deprecated)</sup>
1292
1293isMicrophoneMute(): Promise&lt;boolean&gt;
1294
1295获取麦克风静音状态。使用Promise异步回调。
1296
1297> **说明:**
1298> 从API version 7开始支持,从API version 9开始废弃,建议使用[isMicrophoneMute](arkts-apis-audio-AudioVolumeGroupManager.md#ismicrophonemute9)替代。
1299
1300**需要权限:** ohos.permission.MICROPHONE
1301
1302**系统能力:** SystemCapability.Multimedia.Audio.Device
1303
1304**返回值:**
1305
1306| 类型                   | 说明                                                         |
1307| ---------------------- | ------------------------------------------------------------ |
1308| Promise&lt;boolean&gt; | Promise对象。返回true表示麦克风被静音;返回false表示麦克风未被静音。 |
1309
1310**示例:**
1311
1312```ts
1313audioManager.isMicrophoneMute().then((value: boolean) => {
1314  console.info(`Promise returned to indicate that the mute status of the microphone is obtained ${value}.`);
1315});
1316```
1317
1318## on('deviceChange')<sup>(deprecated)</sup>
1319
1320on(type: 'deviceChange', callback: Callback<DeviceChangeAction\>): void
1321
1322监听音频设备连接变化事件(当音频设备连接状态发生变化时触发)。使用callback异步回调。
1323
1324> **说明:**
1325> 从API version 7开始支持,从API version 9开始废弃,建议使用[on('deviceChange')](arkts-apis-audio-AudioRoutingManager.md#ondevicechange9)替代。
1326
1327**系统能力:** SystemCapability.Multimedia.Audio.Device
1328
1329**参数:**
1330
1331| 参数名   | 类型                                                 | 必填 | 说明                                       |
1332| :------- | :--------------------------------------------------- | :--- | :----------------------------------------- |
1333| type     | string                                               | 是   | 事件回调类型,支持的事件为'deviceChange',当音频设备连接状态发生变化时,触发该事件。 |
1334| callback | Callback<[DeviceChangeAction](arkts-apis-audio-i.md#devicechangeaction)\> | 是   | 回调函数,返回设备更新详情。 |
1335
1336**示例:**
1337
1338```ts
1339audioManager.on('deviceChange', (deviceChanged: audio.DeviceChangeAction) => {
1340  console.info(`device change type : ${deviceChanged.type} `);
1341  console.info(`device descriptor size : ${deviceChanged.deviceDescriptors.length} `);
1342  console.info(`device change descriptor : ${deviceChanged.deviceDescriptors[0].deviceRole} `);
1343  console.info(`device change descriptor : ${deviceChanged.deviceDescriptors[0].deviceType} `);
1344});
1345```
1346
1347## off('deviceChange')<sup>(deprecated)</sup>
1348
1349off(type: 'deviceChange', callback?: Callback<DeviceChangeAction\>): void
1350
1351取消监听音频设备连接变化事件。使用callback异步回调。
1352
1353> **说明:**
1354> 从API version 7开始支持,从API version 9开始废弃,建议使用[off('deviceChange')](arkts-apis-audio-AudioRoutingManager.md#offdevicechange9)替代。
1355
1356**系统能力:** SystemCapability.Multimedia.Audio.Device
1357
1358**参数:**
1359
1360| 参数名   | 类型                                                | 必填 | 说明                                       |
1361| -------- | --------------------------------------------------- | ---- | ------------------------------------------ |
1362| type     | string | 是   | 事件回调类型,支持的事件为'deviceChange',当取消监听音频设备连接变化事件时,触发该事件。 |
1363| callback | Callback<[DeviceChangeAction](arkts-apis-audio-i.md#devicechangeaction)> | 否   | 回调函数,返回设备更新详情。 |
1364
1365**示例:**
1366
1367```ts
1368// 取消该事件的所有监听。
1369audioManager.off('deviceChange');
1370
1371// 同一监听事件中,on方法和off方法传入callback参数一致,off方法取消对应on方法订阅的监听。
1372let deviceChangeCallback = (deviceChanged: audio.DeviceChangeAction) => {
1373  console.info(`device change type : ${deviceChanged.type} `);
1374  console.info(`device descriptor size : ${deviceChanged.deviceDescriptors.length} `);
1375  console.info(`device change descriptor : ${deviceChanged.deviceDescriptors[0].deviceRole} `);
1376  console.info(`device change descriptor : ${deviceChanged.deviceDescriptors[0].deviceType} `);
1377};
1378
1379audioManager.on('deviceChange', deviceChangeCallback);
1380
1381audioManager.off('deviceChange', deviceChangeCallback);
1382```
1383
1384## on('interrupt')<sup>(deprecated)</sup>
1385
1386on(type: 'interrupt', interrupt: AudioInterrupt, callback: Callback\<InterruptAction>): void
1387
1388监听音频打断事件(当音频焦点发生变化时触发)。使用callback异步回调。
1389
1390与[on('audioInterrupt')](arkts-apis-audio-AudioRenderer.md#onaudiointerrupt9)作用一致,均用于监听焦点变化。为无音频流的场景(未曾创建AudioRenderer对象),比如FM、语音唤醒等提供焦点变化监听功能。
1391
1392> **说明:**
1393> 从API version 7开始支持,从API version 11开始废弃,建议使用[on('audioInterrupt')](arkts-apis-audio-AudioCapturer.md#onaudiointerrupt10)替代。
1394
1395**系统能力:** SystemCapability.Multimedia.Audio.Renderer
1396
1397**参数:**
1398
1399| 参数名    | 类型                                                      | 必填 | 说明                                                         |
1400| --------- |---------------------------------------------------------| ---- | ------------------------------------------------------------ |
1401| type      | string                                                  | 是   | 事件回调类型,支持的事件为'interrupt',当音频焦点状态发生变化时,触发该事件。 |
1402| interrupt | [AudioInterrupt](arkts-apis-audio-i.md#audiointerruptdeprecated)             | 是   | 音频打断事件类型的参数。                                     |
1403| callback  | Callback<[InterruptAction](arkts-apis-audio-i.md#interruptactiondeprecated)> | 是   | 回调函数,返回打断事件信息。 |
1404
1405**示例:**
1406
1407```ts
1408import { audio } from '@kit.AudioKit';
1409
1410let interAudioInterrupt: audio.AudioInterrupt = {
1411  streamUsage: audio.StreamUsage.STREAM_USAGE_VOICE_COMMUNICATION,
1412  contentType: audio.ContentType.CONTENT_TYPE_UNKNOWN,
1413  pauseWhenDucked: true
1414};
1415
1416audioManager.on('interrupt', interAudioInterrupt, (interruptAction: audio.InterruptAction) => {
1417  if (interruptAction.actionType === 0) {
1418    console.info('An event to gain the audio focus starts.');
1419    console.info(`Focus hint: ${interruptAction.hint} `);
1420  }
1421  if (interruptAction.actionType === 1) {
1422    console.info('An audio interruption event starts.');
1423    console.info(`Audio interruption hint: ${interruptAction.hint} `);
1424  }
1425});
1426```
1427
1428## off('interrupt')<sup>(deprecated)</sup>
1429
1430off(type: 'interrupt', interrupt: AudioInterrupt, callback?: Callback\<InterruptAction>): void
1431
1432取消监听音频打断事件。使用callback异步回调。
1433
1434> **说明:**
1435> 从API version 7开始支持,从API version 11开始废弃,建议使用[off('audioInterrupt')](arkts-apis-audio-AudioCapturer.md#offaudiointerrupt10)替代。
1436
1437**系统能力:** SystemCapability.Multimedia.Audio.Renderer
1438
1439**参数:**
1440
1441| 参数名    | 类型                                                      | 必填 | 说明                                                         |
1442| --------- |---------------------------------------------------------| ---- | ------------------------------------------------------------ |
1443| type      | string                                                  | 是   | 事件回调类型,支持的事件为'interrupt',当取消监听音频打断事件时,触发该事件。 |
1444| interrupt | [AudioInterrupt](arkts-apis-audio-i.md#audiointerruptdeprecated)                       | 是   | 音频打断事件类型的参数。                                     |
1445| callback  | Callback<[InterruptAction](arkts-apis-audio-i.md#interruptactiondeprecated)> | 否   | 回调函数,返回打断事件信息。 |
1446
1447**示例:**
1448
1449```ts
1450import { audio } from '@kit.AudioKit';
1451
1452let interAudioInterrupt: audio.AudioInterrupt = {
1453  streamUsage: audio.StreamUsage.STREAM_USAGE_VOICE_COMMUNICATION,
1454  contentType: audio.ContentType.CONTENT_TYPE_UNKNOWN,
1455  pauseWhenDucked: true
1456};
1457
1458// 取消该事件的所有监听。
1459audioManager.off('interrupt', interAudioInterrupt);
1460
1461// 同一监听事件中,on方法和off方法传入callback参数一致,off方法取消对应on方法订阅的监听。
1462let interruptCallback = (interruptAction: audio.InterruptAction) => {
1463  if (interruptAction.actionType === 0) {
1464    console.info('An event to gain the audio focus starts.');
1465    console.info(`Focus hint: ${interruptAction.hint} `);
1466  }
1467  if (interruptAction.actionType === 1) {
1468    console.info('An audio interruption event starts.');
1469    console.info(`Audio interruption hint: ${interruptAction.hint} `);
1470  }
1471};
1472
1473audioManager.on('interrupt', interAudioInterrupt, interruptCallback);
1474
1475audioManager.off('interrupt', interAudioInterrupt, interruptCallback);
1476```
1477