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<void>): 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<void> | 是 | 回调函数。当音频参数设置成功,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<void> 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<void> | 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<string>): 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<string> | 是 | 回调函数。当获取指定音频参数值成功,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<string> 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<string> | 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<void>): 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<void> | 是 | 回调函数。当设置指定流的音量成功,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<void> 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<void> | 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<number>): 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<number> | 是 | 回调函数。当获取指定流的音量成功,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<number> 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<number> | 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<number>): 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<number> | 是 | 回调函数。当获取指定流的最小音量成功,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<number> 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<number> | 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<number>): 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<number> | 是 | 回调函数。当获取指定流的最大音量成功,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<number> 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<number> | 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<void>): 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<void> | 是 | 回调函数。当设置指定音量流静音成功,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<void> 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<void> | 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<boolean>): 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<boolean> | 是 | 回调函数。当获取指定音量流的静音状态成功,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<boolean> 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<boolean> | 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<boolean>): 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<boolean> | 是 | 回调函数。当获取指定音量流的活跃状态成功,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<boolean> 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<boolean> | 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<void>): 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<void> | 是 | 回调函数。当设置铃声模式成功,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<void> 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<void> | 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<AudioRingMode>): 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<[AudioRingMode](arkts-apis-audio-e.md#audioringmode)> | 是 | 回调函数。当获取铃声模式成功,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<AudioRingMode> 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<[AudioRingMode](arkts-apis-audio-e.md#audioringmode)> | 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<AudioDeviceDescriptors>): 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<[AudioDeviceDescriptors](arkts-apis-audio-t.md#audiodevicedescriptors)> | 是 | 回调函数。当获取音频设备列表成功,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<AudioDeviceDescriptors> 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<[AudioDeviceDescriptors](arkts-apis-audio-t.md#audiodevicedescriptors)> | 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<void>): 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<void> | 是 | 回调函数。当设置设备激活状态成功,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<void> 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<void> | 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<boolean>): 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<boolean> | 是 | 回调函数。当获取指定设备的激活状态成功,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<boolean> 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<boolean> | 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<void>): 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<void> | 是 | 回调函数。当设置麦克风静音状态成功,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<void> 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<void> | 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<boolean>): 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<boolean> | 是 | 回调函数。当获取麦克风静音状态成功,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<boolean> 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<boolean> | 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