# Interface (AudioManager) > **说明:** > > 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 管理音频音量和设备。 在使用AudioManager的接口之前,需先通过[getAudioManager](arkts-apis-audio-f.md#audiogetaudiomanager)获取AudioManager实例。 ## 导入模块 ```ts import { audio } from '@kit.AudioKit'; ``` ## getAudioScene8+ getAudioScene\(callback: AsyncCallback\): void 获取音频场景模式。使用callback异步回调。 **系统能力:** SystemCapability.Multimedia.Audio.Communication **参数:** | 参数名 | 类型 | 必填 | 说明 | | :------- | :-------------------------------------------------- | :--- | :--------------------------- | | callback | AsyncCallback<[AudioScene](arkts-apis-audio-e.md#audioscene8)> | 是 | 回调函数。当获取音频场景模式成功,err为undefined,data为获取到的音频场景模式;否则为错误对象。 | **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; audioManager.getAudioScene((err: BusinessError, value: audio.AudioScene) => { if (err) { console.error(`Failed to obtain the audio scene mode. ${err}`); return; } console.info(`Callback invoked to indicate that the audio scene mode is obtained ${value}.`); }); ``` ## getAudioScene8+ getAudioScene\(\): Promise 获取音频场景模式。使用Promise异步回调。 **系统能力:** SystemCapability.Multimedia.Audio.Communication **返回值:** | 类型 | 说明 | | :-------------------------------------------- | :--------------------------- | | Promise<[AudioScene](arkts-apis-audio-e.md#audioscene8)> | Promise对象,返回音频场景模式。 | **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; audioManager.getAudioScene().then((value: audio.AudioScene) => { console.info(`Promise returned to indicate that the audio scene mode is obtained ${value}.`); }).catch ((err: BusinessError) => { console.error(`Failed to obtain the audio scene mode ${err}`); }); ``` ## getAudioSceneSync10+ getAudioSceneSync\(\): AudioScene 获取音频场景模式。同步返回结果。 **系统能力:** SystemCapability.Multimedia.Audio.Communication **返回值:** | 类型 | 说明 | | :-------------------------------------------- | :--------------------------- | | [AudioScene](arkts-apis-audio-e.md#audioscene8) | 音频场景模式。 | **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; try { let value: audio.AudioScene = audioManager.getAudioSceneSync(); console.info(`indicate that the audio scene mode is obtained ${value}.`); } catch (err) { let error = err as BusinessError; console.error(`Failed to obtain the audio scene mode ${error}`); } ``` ## on('audioSceneChange')20+ on(type: 'audioSceneChange', callback: Callback\): void 监听音频场景变化事件。使用callback异步回调。 **系统能力:** SystemCapability.Multimedia.Audio.Communication **参数:** | 参数名 | 类型 | 必填 | 说明 | | :------- | :------------------------- | :--- | :------------------------------------------ | | type | string | 是 | 事件回调类型,支持的事件为'audioSceneChange',当音频场景模式发生变化时,触发该事件。 | | callback | Callback\<[AudioScene](arkts-apis-audio-e.md#audioscene8)> | 是 | 回调函数,返回当前音频场景模式。 | **示例:** ```ts audioManager.on('audioSceneChange', (audioScene: audio.AudioScene) => { console.info(`audio scene : ${audioScene}.`); }); ``` ## off('audioSceneChange')20+ off(type: 'audioSceneChange', callback?: Callback\): void 取消监听音频场景变化事件。使用callback异步回调。 **系统能力:** SystemCapability.Multimedia.Audio.Communication **参数:** | 参数名 | 类型 | 必填 | 说明 | | :------- | :------------------------- | :--- | :------------------------------------------ | | type | string | 是 | 事件回调类型,支持的事件为'audioSceneChange',当取消监听当前音频场景变化事件时,触发该事件。 | | callback | Callback\<[AudioScene](arkts-apis-audio-e.md#audioscene8)> | 否 | 回调函数,返回当前音频场景模式。 | **示例:** ```ts // 取消该事件的所有监听。 audioManager.off('audioSceneChange'); // 同一监听事件中,on方法和off方法传入callback参数一致,off方法取消对应on方法订阅的监听。 let audioSceneChangeCallback = (audioScene: audio.AudioScene) => { console.info(`audio scene : ${audioScene}.`); }; audioManager.on('audioSceneChange', audioSceneChangeCallback); audioManager.off('audioSceneChange', audioSceneChangeCallback); ``` ## getVolumeManager9+ getVolumeManager(): AudioVolumeManager 获取音频音量管理器。 **系统能力:** SystemCapability.Multimedia.Audio.Volume **返回值:** | 类型 | 说明 | |-----------------------------------------| ----------------------------- | | [AudioVolumeManager](arkts-apis-audio-AudioVolumeManager.md) | AudioVolumeManager实例。 | **示例:** ```ts import { audio } from '@kit.AudioKit'; let audioVolumeManager: audio.AudioVolumeManager = audioManager.getVolumeManager(); ``` ## getStreamManager9+ getStreamManager(): AudioStreamManager 获取音频流管理器。 **系统能力:** SystemCapability.Multimedia.Audio.Core **返回值:** | 类型 | 说明 | |--------------------------------------------| ----------------------------- | | [AudioStreamManager](arkts-apis-audio-AudioStreamManager.md) | AudioStreamManager实例。 | **示例:** ```ts import { audio } from '@kit.AudioKit'; let audioStreamManager: audio.AudioStreamManager = audioManager.getStreamManager(); ``` ## getRoutingManager9+ getRoutingManager(): AudioRoutingManager 获取音频路由管理器。 **系统能力:** SystemCapability.Multimedia.Audio.Device **返回值:** | 类型 | 说明 | |------------------------------------------| ----------------------------- | | [AudioRoutingManager](arkts-apis-audio-AudioRoutingManager.md) | AudioRoutingManager实例。 | **示例:** ```ts import { audio } from '@kit.AudioKit'; let audioRoutingManager: audio.AudioRoutingManager = audioManager.getRoutingManager(); ``` ## getSessionManager12+ getSessionManager(): AudioSessionManager 获取音频会话管理器。 **系统能力:** SystemCapability.Multimedia.Audio.Core **返回值:** | 类型 | 说明 | |----------------------------------------------| ----------------------------- | | [AudioSessionManager](arkts-apis-audio-AudioSessionManager.md) | AudioSessionManager实例。 | **示例:** ```ts import { audio } from '@kit.AudioKit'; let audioSessionManager: audio.AudioSessionManager = audioManager.getSessionManager(); ``` ## getSpatializationManager18+ getSpatializationManager(): AudioSpatializationManager 获取空间音频管理器。 **系统能力:** SystemCapability.Multimedia.Audio.Spatialization **返回值:** | 类型 | 说明 | |------------------------------------------| ----------------------------- | | [AudioSpatializationManager](arkts-apis-audio-AudioSpatializationManager.md) | AudioSpatializationManager实例。 | **示例:** ```ts import { audio } from '@kit.AudioKit'; let audioSpatializationManager: audio.AudioSpatializationManager = audioManager.getSpatializationManager(); ``` ## setAudioParameter(deprecated) setAudioParameter(key: string, value: string, callback: AsyncCallback<void>): void 音频参数设置。使用callback异步回调。 接口根据硬件设备的支持能力扩展音频配置。支持的参数与产品和设备强相关,非通用参数,示例代码内使用样例参数。 > **说明:** > 从API version 7开始支持,从API version 11开始废弃,替代接口仅面向系统应用开放。 **需要权限:** ohos.permission.MODIFY_AUDIO_SETTINGS **系统能力:** SystemCapability.Multimedia.Audio.Core **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------- | ---- | ------------------------ | | key | string | 是 | 被设置的音频参数的键。 | | value | string | 是 | 被设置的音频参数的值。 | | callback | AsyncCallback<void> | 是 | 回调函数。当音频参数设置成功,err为undefined,否则为错误对象。 | **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; audioManager.setAudioParameter('key_example', 'value_example', (err: BusinessError) => { if (err) { console.error(`Failed to set the audio parameter. ${err}`); return; } console.info('Callback invoked to indicate a successful setting of the audio parameter.'); }); ``` ## setAudioParameter(deprecated) setAudioParameter(key: string, value: string): Promise<void> 音频参数设置。使用Promise异步回调。 接口根据硬件设备的支持能力扩展音频配置。支持的参数与产品和设备强相关,非通用参数,示例代码内使用样例参数。 > **说明:** > 从API version 7开始支持,从API version 11开始废弃,替代接口仅面向系统应用开放。 **需要权限:** ohos.permission.MODIFY_AUDIO_SETTINGS **系统能力:** SystemCapability.Multimedia.Audio.Core **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | ---------------------- | | key | string | 是 | 被设置的音频参数的键。 | | value | string | 是 | 被设置的音频参数的值。 | **返回值:** | 类型 | 说明 | | ------------------- | ------------------------------- | | Promise<void> | Promise对象。无返回结果的Promise对象。 | **示例:** ```ts audioManager.setAudioParameter('key_example', 'value_example').then(() => { console.info('Promise returned to indicate a successful setting of the audio parameter.'); }); ``` ## getAudioParameter(deprecated) getAudioParameter(key: string, callback: AsyncCallback<string>): void 获取指定音频参数值。使用callback异步回调。 本接口的使用场景为:根据硬件设备的支持能力扩展音频配置。在不同的设备平台上,所支持的音频参数会存在差异。示例代码内使用样例参数,实际支持的音频配置参数见具体设备平台的资料描述。 > **说明:** > 从API version 7开始支持,从API version 11开始废弃,替代接口仅面向系统应用开放。 **系统能力:** SystemCapability.Multimedia.Audio.Core **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------------- | ---- | ---------------------------- | | key | string | 是 | 待获取的音频参数的键。 | | callback | AsyncCallback<string> | 是 | 回调函数。当获取指定音频参数值成功,err为undefined,data为获取到的指定音频参数值;否则为错误对象。 | **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; audioManager.getAudioParameter('key_example', (err: BusinessError, value: string) => { if (err) { console.error(`Failed to obtain the value of the audio parameter. ${err}`); return; } console.info(`Callback invoked to indicate that the value of the audio parameter is obtained ${value}.`); }); ``` ## getAudioParameter(deprecated) getAudioParameter(key: string): Promise<string> 获取指定音频参数值。使用Promise异步回调。 本接口的使用场景为:根据硬件设备的支持能力扩展音频配置。在不同的设备平台上,所支持的音频参数会存在差异。示例代码内使用样例参数,实际支持的音频配置参数见具体设备平台的资料描述。 > **说明:** > 从API version 7开始支持,从API version 11开始废弃,替代接口仅面向系统应用开放。 **系统能力:** SystemCapability.Multimedia.Audio.Core **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | ---------------------- | | key | string | 是 | 待获取的音频参数的键。 | **返回值:** | 类型 | 说明 | | --------------------- | ----------------------------------- | | Promise<string> | Promise对象,返回获取的音频参数值。 | **示例:** ```ts audioManager.getAudioParameter('key_example').then((value: string) => { console.info(`Promise returned to indicate that the value of the audio parameter is obtained ${value}.`); }); ``` ## setVolume(deprecated) setVolume(volumeType: AudioVolumeType, volume: number, callback: AsyncCallback<void>): void 设置指定流的音量。使用callback异步回调。 > **说明:** > > 从API version 7开始支持,从API version 9开始废弃,替代接口仅面向系统应用开放。 > > 应用无法直接调节系统音量,建议通过系统音量面板组件调节音量。具体样例和介绍请查看[AVVolumePanel参考文档](ohos-multimedia-avvolumepanel.md)。 **需要权限:** ohos.permission.ACCESS_NOTIFICATION_POLICY 仅设置铃声(即volumeType为AudioVolumeType.RINGTONE)在静音和非静音状态切换时需要该权限。 **系统能力:** SystemCapability.Multimedia.Audio.Volume **参数:** | 参数名 | 类型 | 必填 | 说明 | | ---------- | ----------------------------------- | ---- | -------------------------------------------------------- | | volumeType | [AudioVolumeType](arkts-apis-audio-e.md#audiovolumetype) | 是 | 音量流类型。 | | volume | number | 是 | 音量等级,可设置范围通过[getMinVolume](#getminvolumedeprecated)和[getMaxVolume](#getmaxvolumedeprecated)获取。 | | callback | AsyncCallback<void> | 是 | 回调函数。当设置指定流的音量成功,err为undefined,否则为错误对象。 | **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; audioManager.setVolume(audio.AudioVolumeType.MEDIA, 10, (err: BusinessError) => { if (err) { console.error(`Failed to set the volume. ${err}`); return; } console.info('Callback invoked to indicate a successful volume setting.'); }); ``` ## setVolume(deprecated) setVolume(volumeType: AudioVolumeType, volume: number): Promise<void> 设置指定流的音量。使用Promise异步回调。 > **说明:** > > 从API version 7开始支持,从API version 9开始废弃,替代接口仅面向系统应用开放。 > > 应用无法直接调节系统音量,建议通过系统音量面板组件调节音量。具体样例和介绍请查看[AVVolumePanel参考文档](ohos-multimedia-avvolumepanel.md)。 **需要权限:** ohos.permission.ACCESS_NOTIFICATION_POLICY 仅设置铃声(即volumeType为AudioVolumeType.RINGTONE)在静音和非静音状态切换时需要该权限。 **系统能力:** SystemCapability.Multimedia.Audio.Volume **参数:** | 参数名 | 类型 | 必填 | 说明 | | ---------- | ----------------------------------- | ---- | -------------------------------------------------------- | | volumeType | [AudioVolumeType](arkts-apis-audio-e.md#audiovolumetype) | 是 | 音量流类型。 | | volume | number | 是 | 音量等级,可设置范围通过[getMinVolume](#getminvolumedeprecated)和[getMaxVolume](#getmaxvolumedeprecated)获取。 | **返回值:** | 类型 | 说明 | | ------------------- | ----------------------------- | | Promise<void> | Promise对象。无返回结果的Promise对象。 | **示例:** ```ts audioManager.setVolume(audio.AudioVolumeType.MEDIA, 10).then(() => { console.info('Promise returned to indicate a successful volume setting.'); }); ``` ## getVolume(deprecated) getVolume(volumeType: AudioVolumeType, callback: AsyncCallback<number>): void 获取指定流的音量。使用callback异步回调。 > **说明:** > 从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)替代。 **系统能力:** SystemCapability.Multimedia.Audio.Volume **参数:** | 参数名 | 类型 | 必填 | 说明 | | ---------- | ----------------------------------- | ---- | ------------------ | | volumeType | [AudioVolumeType](arkts-apis-audio-e.md#audiovolumetype) | 是 | 音量流类型。 | | callback | AsyncCallback<number> | 是 | 回调函数。当获取指定流的音量成功,err为undefined,data为获取到的指定流的音量;否则为错误对象。指定流的音量等级范围可通过[getMinVolume](#getminvolumedeprecated)和[getMaxVolume](#getmaxvolumedeprecated)获取。 | **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; audioManager.getVolume(audio.AudioVolumeType.MEDIA, (err: BusinessError, value: number) => { if (err) { console.error(`Failed to obtain the volume. ${err}`); return; } console.info('Callback invoked to indicate that the volume is obtained.'); }); ``` ## getVolume(deprecated) getVolume(volumeType: AudioVolumeType): Promise<number> 获取指定流的音量。使用Promise异步回调。 > **说明:** > 从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)替代。 **系统能力:** SystemCapability.Multimedia.Audio.Volume **参数:** | 参数名 | 类型 | 必填 | 说明 | | ---------- | ----------------------------------- | ---- | ------------ | | volumeType | [AudioVolumeType](arkts-apis-audio-e.md#audiovolumetype) | 是 | 音量流类型。 | **返回值:** | 类型 | 说明 | | --------------------- | ------------------------- | | Promise<number> | Promise对象,返回指定流的音量。指定流的音量等级范围可通过[getMinVolume](#getminvolumedeprecated)和[getMaxVolume](#getmaxvolumedeprecated)获取。 | **示例:** ```ts audioManager.getVolume(audio.AudioVolumeType.MEDIA).then((value: number) => { console.info(`Promise returned to indicate that the volume is obtained ${value} .`); }); ``` ## getMinVolume(deprecated) getMinVolume(volumeType: AudioVolumeType, callback: AsyncCallback<number>): void 获取指定流的最小音量。使用callback异步回调。 > **说明:** > 从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)替代。 **系统能力:** SystemCapability.Multimedia.Audio.Volume **参数:** | 参数名 | 类型 | 必填 | 说明 | | ---------- | ----------------------------------- | ---- | ------------------ | | volumeType | [AudioVolumeType](arkts-apis-audio-e.md#audiovolumetype) | 是 | 音量流类型。 | | callback | AsyncCallback<number> | 是 | 回调函数。当获取指定流的最小音量成功,err为undefined,data为获取到的指定流的最小音量;否则为错误对象。 | **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; audioManager.getMinVolume(audio.AudioVolumeType.MEDIA, (err: BusinessError, value: number) => { if (err) { console.error(`Failed to obtain the minimum volume. ${err}`); return; } console.info(`Callback invoked to indicate that the minimum volume is obtained. ${value}`); }); ``` ## getMinVolume(deprecated) getMinVolume(volumeType: AudioVolumeType): Promise<number> 获取指定流的最小音量。使用Promise异步回调。 > **说明:** > 从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)替代。 **系统能力:** SystemCapability.Multimedia.Audio.Volume **参数:** | 参数名 | 类型 | 必填 | 说明 | | ---------- | ----------------------------------- | ---- | ------------ | | volumeType | [AudioVolumeType](arkts-apis-audio-e.md#audiovolumetype) | 是 | 音量流类型。 | **返回值:** | 类型 | 说明 | | --------------------- | ------------------------- | | Promise<number> | Promise对象,返回最小音量。 | **示例:** ```ts audioManager.getMinVolume(audio.AudioVolumeType.MEDIA).then((value: number) => { console.info(`Promised returned to indicate that the minimum volume is obtained. ${value}`); }); ``` ## getMaxVolume(deprecated) getMaxVolume(volumeType: AudioVolumeType, callback: AsyncCallback<number>): void 获取指定流的最大音量。使用callback异步回调。 > **说明:** > 从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)替代。 **系统能力:** SystemCapability.Multimedia.Audio.Volume **参数:** | 参数名 | 类型 | 必填 | 说明 | | ---------- | ----------------------------------- | ---- | ---------------------- | | volumeType | [AudioVolumeType](arkts-apis-audio-e.md#audiovolumetype) | 是 | 音量流类型。 | | callback | AsyncCallback<number> | 是 | 回调函数。当获取指定流的最大音量成功,err为undefined,data为获取到的指定流的最大音量;否则为错误对象。 | **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; audioManager.getMaxVolume(audio.AudioVolumeType.MEDIA, (err: BusinessError, value: number) => { if (err) { console.error(`Failed to obtain the maximum volume. ${err}`); return; } console.info(`Callback invoked to indicate that the maximum volume is obtained. ${value}`); }); ``` ## getMaxVolume(deprecated) getMaxVolume(volumeType: AudioVolumeType): Promise<number> 获取指定流的最大音量。使用Promise异步回调。 > **说明:** > 从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)替代。 **系统能力:** SystemCapability.Multimedia.Audio.Volume **参数:** | 参数名 | 类型 | 必填 | 说明 | | ---------- | ----------------------------------- | ---- | ------------ | | volumeType | [AudioVolumeType](arkts-apis-audio-e.md#audiovolumetype) | 是 | 音量流类型。 | **返回值:** | 类型 | 说明 | | --------------------- | ----------------------------- | | Promise<number> | Promise对象,返回最大音量。 | **示例:** ```ts audioManager.getMaxVolume(audio.AudioVolumeType.MEDIA).then((data: number) => { console.info('Promised returned to indicate that the maximum volume is obtained.'); }); ``` ## mute(deprecated) mute(volumeType: AudioVolumeType, mute: boolean, callback: AsyncCallback<void>): void 设置指定音量流静音。使用callback异步回调。 当该音量流可设置的最小音量不能为0时,不支持静音操作。例如:闹钟和通话。 > **说明:** > 从API version 7开始支持,从API version 9开始废弃,替代接口仅面向系统应用开放。 **系统能力:** SystemCapability.Multimedia.Audio.Volume **参数:** | 参数名 | 类型 | 必填 | 说明 | | ---------- | ----------------------------------- | ---- | ------------------------------------- | | volumeType | [AudioVolumeType](arkts-apis-audio-e.md#audiovolumetype) | 是 | 音量流类型。 | | mute | boolean | 是 | 是否设置指定音量流为静音状态。true表示静音,false表示非静音。 | | callback | AsyncCallback<void> | 是 | 回调函数。当设置指定音量流静音成功,err为undefined,否则为错误对象。 | **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; audioManager.mute(audio.AudioVolumeType.MEDIA, true, (err: BusinessError) => { if (err) { console.error(`Failed to mute the stream. ${err}`); return; } console.info('Callback invoked to indicate that the stream is muted.'); }); ``` ## mute(deprecated) mute(volumeType: AudioVolumeType, mute: boolean): Promise<void> 设置指定音量流静音。使用Promise异步回调。 当该音量流可设置的最小音量不能为0时,不支持静音操作。例如:闹钟和通话。 > **说明:** > 从API version 7开始支持,从API version 9开始废弃,替代接口仅面向系统应用开放。 **系统能力:** SystemCapability.Multimedia.Audio.Volume **参数:** | 参数名 | 类型 | 必填 | 说明 | | ---------- | ----------------------------------- | ---- | ------------------------------------- | | volumeType | [AudioVolumeType](arkts-apis-audio-e.md#audiovolumetype) | 是 | 音量流类型。 | | mute | boolean | 是 | 是否设置指定音量流为静音状态。true表示静音,false表示非静音。 | **返回值:** | 类型 | 说明 | | ------------------- | ----------------------------- | | Promise<void> | Promise对象。无返回结果的Promise对象。 | **示例:** ```ts audioManager.mute(audio.AudioVolumeType.MEDIA, true).then(() => { console.info('Promise returned to indicate that the stream is muted.'); }); ``` ## isMute(deprecated) isMute(volumeType: AudioVolumeType, callback: AsyncCallback<boolean>): void 获取指定音量流的静音状态。使用callback异步回调。 > **说明:** > 从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)替代。 **系统能力:** SystemCapability.Multimedia.Audio.Volume **参数:** | 参数名 | 类型 | 必填 | 说明 | | ---------- | ----------------------------------- | ---- | ----------------------------------------------- | | volumeType | [AudioVolumeType](arkts-apis-audio-e.md#audiovolumetype) | 是 | 音量流类型。 | | callback | AsyncCallback<boolean> | 是 | 回调函数。当获取指定音量流的静音状态成功,err为undefined,data为true表示静音,false表示非静音;否则为错误对象。 | **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; audioManager.isMute(audio.AudioVolumeType.MEDIA, (err: BusinessError, value: boolean) => { if (err) { console.error(`Failed to obtain the mute status. ${err}`); return; } console.info(`Callback invoked to indicate that the mute status of the stream is obtained. ${value}`); }); ``` ## isMute(deprecated) isMute(volumeType: AudioVolumeType): Promise<boolean> 获取指定音量流的静音状态。使用Promise异步回调。 > **说明:** > 从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)替代。 **系统能力:** SystemCapability.Multimedia.Audio.Volume **参数:** | 参数名 | 类型 | 必填 | 说明 | | ---------- | ----------------------------------- | ---- | ------------ | | volumeType | [AudioVolumeType](arkts-apis-audio-e.md#audiovolumetype) | 是 | 音量流类型。 | **返回值:** | 类型 | 说明 | | ---------------------- | ------------------------------------------------------ | | Promise<boolean> | Promise对象。返回true表示静音;返回false表示非静音。 | **示例:** ```ts audioManager.isMute(audio.AudioVolumeType.MEDIA).then((value: boolean) => { console.info(`Promise returned to indicate that the mute status of the stream is obtained ${value}.`); }); ``` ## isActive(deprecated) isActive(volumeType: AudioVolumeType, callback: AsyncCallback<boolean>): void 获取指定音量流的活跃状态。使用callback异步回调。 > **说明:** > 从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)替代。 **系统能力:** SystemCapability.Multimedia.Audio.Volume **参数:** | 参数名 | 类型 | 必填 | 说明 | | ---------- | ----------------------------------- | ---- | ------------------------------------------------- | | volumeType | [AudioVolumeType](arkts-apis-audio-e.md#audiovolumetype) | 是 | 音量流类型。 | | callback | AsyncCallback<boolean> | 是 | 回调函数。当获取指定音量流的活跃状态成功,err为undefined,data为true表示活跃,false表示不活跃;否则为错误对象。 | **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; audioManager.isActive(audio.AudioVolumeType.MEDIA, (err: BusinessError, value: boolean) => { if (err) { console.error(`Failed to obtain the active status of the stream. ${err}`); return; } console.info(`Callback invoked to indicate that the active status of the stream is obtained ${value}.`); }); ``` ## isActive(deprecated) isActive(volumeType: AudioVolumeType): Promise<boolean> 获取指定音量流的活跃状态。使用Promise异步回调。 > **说明:** > 从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)替代。 **系统能力:** SystemCapability.Multimedia.Audio.Volume **参数:** | 参数名 | 类型 | 必填 | 说明 | | ---------- | ----------------------------------- | ---- | ------------ | | volumeType | [AudioVolumeType](arkts-apis-audio-e.md#audiovolumetype) | 是 | 音量流类型。 | **返回值:** | 类型 | 说明 | | ---------------------- | -------------------------------------------------------- | | Promise<boolean> | Promise对象。返回true表示流状态为活跃;返回false表示流状态不活跃。 | **示例:** ```ts audioManager.isActive(audio.AudioVolumeType.MEDIA).then((value: boolean) => { console.info(`Promise returned to indicate that the active status of the stream is obtained ${value}.`); }); ``` ## setRingerMode(deprecated) setRingerMode(mode: AudioRingMode, callback: AsyncCallback<void>): void 设置铃声模式。使用callback异步回调。 > **说明:** > 从API version 7开始支持,从API version 9开始废弃,替代接口仅面向系统应用开放。 **需要权限:** ohos.permission.ACCESS_NOTIFICATION_POLICY 仅在静音和非静音状态切换时需要该权限。 **系统能力:** SystemCapability.Multimedia.Audio.Communication **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------------- | ---- | ------------------------ | | mode | [AudioRingMode](arkts-apis-audio-e.md#audioringmode) | 是 | 音频铃声模式。 | | callback | AsyncCallback<void> | 是 | 回调函数。当设置铃声模式成功,err为undefined,否则为错误对象。 | **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; audioManager.setRingerMode(audio.AudioRingMode.RINGER_MODE_NORMAL, (err: BusinessError) => { if (err) { console.error(`Failed to set the ringer mode. ${err}`); return; } console.info('Callback invoked to indicate a successful setting of the ringer mode.'); }); ``` ## setRingerMode(deprecated) setRingerMode(mode: AudioRingMode): Promise<void> 设置铃声模式。使用Promise异步回调。 > **说明:** > 从API version 7开始支持,从API version 9开始废弃,替代接口仅面向系统应用开放。 **需要权限:** ohos.permission.ACCESS_NOTIFICATION_POLICY 仅在静音和非静音状态切换时需要该权限。 **系统能力:** SystemCapability.Multimedia.Audio.Communication **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------------------------------- | ---- | -------------- | | mode | [AudioRingMode](arkts-apis-audio-e.md#audioringmode) | 是 | 音频铃声模式。 | **返回值:** | 类型 | 说明 | | ------------------- | ------------------------------- | | Promise<void> | Promise对象。无返回结果的Promise对象。 | **示例:** ```ts audioManager.setRingerMode(audio.AudioRingMode.RINGER_MODE_NORMAL).then(() => { console.info('Promise returned to indicate a successful setting of the ringer mode.'); }); ``` ## getRingerMode(deprecated) getRingerMode(callback: AsyncCallback<AudioRingMode>): void 获取铃声模式。使用callback异步回调。 > **说明:** > 从API version 7开始支持,从API version 9开始废弃,建议使用[getRingerMode](arkts-apis-audio-AudioVolumeGroupManager.md#getringermode9)替代。 **系统能力:** SystemCapability.Multimedia.Audio.Communication **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------------------------------------- | ---- | ------------------------ | | callback | AsyncCallback<[AudioRingMode](arkts-apis-audio-e.md#audioringmode)> | 是 | 回调函数。当获取铃声模式成功,err为undefined,data为获取到的铃声模式;否则为错误对象。 | **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; audioManager.getRingerMode((err: BusinessError, value: audio.AudioRingMode) => { if (err) { console.error(`Failed to obtain the ringer mode. ${err}`); return; } console.info(`Callback invoked to indicate that the ringer mode is obtained ${value}.`); }); ``` ## getRingerMode(deprecated) getRingerMode(): Promise<AudioRingMode> 获取铃声模式。使用Promise异步回调。 > **说明:** > 从API version 7开始支持,从API version 9开始废弃,建议使用[getRingerMode](arkts-apis-audio-AudioVolumeGroupManager.md#getringermode9)替代。 **系统能力:** SystemCapability.Multimedia.Audio.Communication **返回值:** | 类型 | 说明 | | ---------------------------------------------- | ------------------------------- | | Promise<[AudioRingMode](arkts-apis-audio-e.md#audioringmode)> | Promise对象,返回系统的铃声模式。 | **示例:** ```ts audioManager.getRingerMode().then((value: audio.AudioRingMode) => { console.info(`Promise returned to indicate that the ringer mode is obtained ${value}.`); }); ``` ## getDevices(deprecated) getDevices(deviceFlag: DeviceFlag, callback: AsyncCallback<AudioDeviceDescriptors>): void 获取音频设备列表。使用callback异步回调。 > **说明:** > 从API version 7开始支持,从API version 9开始废弃,建议使用[getDevices](arkts-apis-audio-AudioRoutingManager.md#getdevices9)替代。 **系统能力:** SystemCapability.Multimedia.Audio.Device **参数:** | 参数名 | 类型 | 必填 | 说明 | | ---------- | ------------------------------------------------------------ | ---- | -------------------- | | deviceFlag | [DeviceFlag](arkts-apis-audio-e.md#deviceflag) | 是 | 音频设备类型。 | | callback | AsyncCallback<[AudioDeviceDescriptors](arkts-apis-audio-t.md#audiodevicedescriptors)> | 是 | 回调函数。当获取音频设备列表成功,err为undefined,data为获取到的音频设备列表;否则为错误对象。 | **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; audioManager.getDevices(audio.DeviceFlag.OUTPUT_DEVICES_FLAG, (err: BusinessError, value: audio.AudioDeviceDescriptors) => { if (err) { console.error(`Failed to obtain the device list. ${err}`); return; } console.info('Callback invoked to indicate that the device list is obtained.'); }); ``` ## getDevices(deprecated) getDevices(deviceFlag: DeviceFlag): Promise<AudioDeviceDescriptors> 获取音频设备列表。使用Promise异步回调。 > **说明:** > 从API version 7开始支持,从API version 9开始废弃,建议使用[getDevices](arkts-apis-audio-AudioRoutingManager.md#getdevices9)替代。 **系统能力:** SystemCapability.Multimedia.Audio.Device **参数:** | 参数名 | 类型 | 必填 | 说明 | | ---------- | ------------------------- | ---- | ---------------- | | deviceFlag | [DeviceFlag](arkts-apis-audio-e.md#deviceflag) | 是 | 音频设备类型。 | **返回值:** | 类型 | 说明 | | ------------------------------------------------------------ | ------------------------- | | Promise<[AudioDeviceDescriptors](arkts-apis-audio-t.md#audiodevicedescriptors)> | Promise对象,返回设备列表。 | **示例:** ```ts audioManager.getDevices(audio.DeviceFlag.OUTPUT_DEVICES_FLAG).then((data: audio.AudioDeviceDescriptors) => { console.info('Promise returned to indicate that the device list is obtained.'); }); ``` ## setDeviceActive(deprecated) setDeviceActive(deviceType: ActiveDeviceType, active: boolean, callback: AsyncCallback<void>): void 设置设备激活状态。使用callback异步回调。 > **说明:** > 从API version 7开始支持,从API version 9开始废弃,建议使用[setCommunicationDevice](arkts-apis-audio-AudioRoutingManager.md#setcommunicationdevice9)替代。 **系统能力:** SystemCapability.Multimedia.Audio.Device **参数:** | 参数名 | 类型 | 必填 | 说明 | | ---------- | ------------------------------------- | ---- |-------------| | deviceType | [ActiveDeviceType](arkts-apis-audio-e.md#activedevicetypedeprecated) | 是 | 活跃音频设备类型。 | | active | boolean | 是 | 是否设置设备为激活状态。true表示已激活,false表示未激活。 | | callback | AsyncCallback<void> | 是 | 回调函数。当设置设备激活状态成功,err为undefined,否则为错误对象。 | **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; audioManager.setDeviceActive(audio.ActiveDeviceType.SPEAKER, true, (err: BusinessError) => { if (err) { console.error(`Failed to set the active status of the device. ${err}`); return; } console.info('Callback invoked to indicate that the device is set to the active status.'); }); ``` ## setDeviceActive(deprecated) setDeviceActive(deviceType: ActiveDeviceType, active: boolean): Promise<void> 设置设备激活状态。使用Promise异步回调。 > **说明:** > 从API version 7开始支持,从API version 9开始废弃,建议使用[setCommunicationDevice](arkts-apis-audio-AudioRoutingManager.md#setcommunicationdevice9)替代。 **系统能力:** SystemCapability.Multimedia.Audio.Device **参数:** | 参数名 | 类型 | 必填 | 说明 | | ---------- | ------------------------------------- | ---- | ------------------ | | deviceType | [ActiveDeviceType](arkts-apis-audio-e.md#activedevicetypedeprecated) | 是 | 活跃音频设备类型。 | | active | boolean | 是 | 是否设置设备为激活状态。true表示已激活,false表示未激活。 | **返回值:** | 类型 | 说明 | | ------------------- | ------------------------------- | | Promise<void> | Promise对象。无返回结果的Promise对象。 | **示例:** ```ts audioManager.setDeviceActive(audio.ActiveDeviceType.SPEAKER, true).then(() => { console.info('Promise returned to indicate that the device is set to the active status.'); }); ``` ## isDeviceActive(deprecated) isDeviceActive(deviceType: ActiveDeviceType, callback: AsyncCallback<boolean>): void 获取指定设备的激活状态。使用callback异步回调。 > **说明:** > 从API version 7开始支持,从API version 9开始废弃,建议使用[isCommunicationDeviceActive](arkts-apis-audio-AudioRoutingManager.md#iscommunicationdeviceactive9)替代。 **系统能力:** SystemCapability.Multimedia.Audio.Device **参数:** | 参数名 | 类型 | 必填 | 说明 | | ---------- | ------------------------------------- | ---- | ------------------------ | | deviceType | [ActiveDeviceType](arkts-apis-audio-e.md#activedevicetypedeprecated) | 是 | 活跃音频设备类型。 | | callback | AsyncCallback<boolean> | 是 | 回调函数。当获取指定设备的激活状态成功,err为undefined,data为true表示激活,false表示未激活;否则为错误对象。 | **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; audioManager.isDeviceActive(audio.ActiveDeviceType.SPEAKER, (err: BusinessError, value: boolean) => { if (err) { console.error(`Failed to obtain the active status of the device. ${err}`); return; } console.info('Callback invoked to indicate that the active status of the device is obtained.'); }); ``` ## isDeviceActive(deprecated) isDeviceActive(deviceType: ActiveDeviceType): Promise<boolean> 获取指定设备的激活状态。使用Promise异步回调。 > **说明:** > 从API version 7开始支持,从API version 9开始废弃,建议使用[isCommunicationDeviceActive](arkts-apis-audio-AudioRoutingManager.md#iscommunicationdeviceactive9)替代。 **系统能力:** SystemCapability.Multimedia.Audio.Device **参数:** | 参数名 | 类型 | 必填 | 说明 | | ---------- | ------------------------------------- | ---- | ------------------ | | deviceType | [ActiveDeviceType](arkts-apis-audio-e.md#activedevicetypedeprecated) | 是 | 活跃音频设备类型。 | **返回值:** | 类型 | 说明 | | ---------------------- |---------------------------------------| | Promise<boolean> | Promise对象。返回true表示设备已激活;返回false表示设备未激活。 | **示例:** ```ts audioManager.isDeviceActive(audio.ActiveDeviceType.SPEAKER).then((value: boolean) => { console.info(`Promise returned to indicate that the active status of the device is obtained ${value}.`); }); ``` ## setMicrophoneMute(deprecated) setMicrophoneMute(mute: boolean, callback: AsyncCallback<void>): void 设置麦克风静音状态。使用callback异步回调。 > **说明:** > 从API version 7开始支持,从API version 9开始废弃,替代接口仅面向系统应用开放。 **需要权限:** ohos.permission.MICROPHONE **系统能力:** SystemCapability.Multimedia.Audio.Device **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------- | ---- | --------------------------------------------- | | mute | boolean | 是 | 是否设置麦克风为静音状态。true表示静音,false表示非静音。 | | callback | AsyncCallback<void> | 是 | 回调函数。当设置麦克风静音状态成功,err为undefined,否则为错误对象。 | **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; audioManager.setMicrophoneMute(true, (err: BusinessError) => { if (err) { console.error(`Failed to mute the microphone. ${err}`); return; } console.info('Callback invoked to indicate that the microphone is muted.'); }); ``` ## setMicrophoneMute(deprecated) setMicrophoneMute(mute: boolean): Promise<void> 设置麦克风静音状态。使用Promise异步回调。 > **说明:** > 从API version 7开始支持,从API version 9开始废弃,替代接口仅面向系统应用开放。 **需要权限:** ohos.permission.MICROPHONE **系统能力:** SystemCapability.Multimedia.Audio.Device **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------- | ---- | --------------------------------------------- | | mute | boolean | 是 | 是否设置麦克风为静音状态。true表示静音,false表示非静音。 | **返回值:** | 类型 | 说明 | | ------------------- | ------------------------------- | | Promise<void> | Promise对象。无返回结果的Promise对象。 | **示例:** ```ts audioManager.setMicrophoneMute(true).then(() => { console.info('Promise returned to indicate that the microphone is muted.'); }); ``` ## isMicrophoneMute(deprecated) isMicrophoneMute(callback: AsyncCallback<boolean>): void 获取麦克风静音状态。使用callback异步回调。 > **说明:** > 从API version 7开始支持,从API version 9开始废弃,建议使用[isMicrophoneMute](arkts-apis-audio-AudioVolumeGroupManager.md#ismicrophonemute9)替代。 **需要权限:** ohos.permission.MICROPHONE **系统能力:** SystemCapability.Multimedia.Audio.Device **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------------- | ---- | ------------------------------------------------------- | | callback | AsyncCallback<boolean> | 是 | 回调函数。当获取麦克风静音状态成功,err为undefined,data为true表示静音,false表示非静音;否则为错误对象。 | **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; audioManager.isMicrophoneMute((err: BusinessError, value: boolean) => { if (err) { console.error(`Failed to obtain the mute status of the microphone. ${err}`); return; } console.info(`Callback invoked to indicate that the mute status of the microphone is obtained ${value}.`); }); ``` ## isMicrophoneMute(deprecated) isMicrophoneMute(): Promise<boolean> 获取麦克风静音状态。使用Promise异步回调。 > **说明:** > 从API version 7开始支持,从API version 9开始废弃,建议使用[isMicrophoneMute](arkts-apis-audio-AudioVolumeGroupManager.md#ismicrophonemute9)替代。 **需要权限:** ohos.permission.MICROPHONE **系统能力:** SystemCapability.Multimedia.Audio.Device **返回值:** | 类型 | 说明 | | ---------------------- | ------------------------------------------------------------ | | Promise<boolean> | Promise对象。返回true表示麦克风被静音;返回false表示麦克风未被静音。 | **示例:** ```ts audioManager.isMicrophoneMute().then((value: boolean) => { console.info(`Promise returned to indicate that the mute status of the microphone is obtained ${value}.`); }); ``` ## on('deviceChange')(deprecated) on(type: 'deviceChange', callback: Callback): void 监听音频设备连接变化事件(当音频设备连接状态发生变化时触发)。使用callback异步回调。 > **说明:** > 从API version 7开始支持,从API version 9开始废弃,建议使用[on('deviceChange')](arkts-apis-audio-AudioRoutingManager.md#ondevicechange9)替代。 **系统能力:** SystemCapability.Multimedia.Audio.Device **参数:** | 参数名 | 类型 | 必填 | 说明 | | :------- | :--------------------------------------------------- | :--- | :----------------------------------------- | | type | string | 是 | 事件回调类型,支持的事件为'deviceChange',当音频设备连接状态发生变化时,触发该事件。 | | callback | Callback<[DeviceChangeAction](arkts-apis-audio-i.md#devicechangeaction)\> | 是 | 回调函数,返回设备更新详情。 | **示例:** ```ts audioManager.on('deviceChange', (deviceChanged: audio.DeviceChangeAction) => { console.info(`device change type : ${deviceChanged.type} `); console.info(`device descriptor size : ${deviceChanged.deviceDescriptors.length} `); console.info(`device change descriptor : ${deviceChanged.deviceDescriptors[0].deviceRole} `); console.info(`device change descriptor : ${deviceChanged.deviceDescriptors[0].deviceType} `); }); ``` ## off('deviceChange')(deprecated) off(type: 'deviceChange', callback?: Callback): void 取消监听音频设备连接变化事件。使用callback异步回调。 > **说明:** > 从API version 7开始支持,从API version 9开始废弃,建议使用[off('deviceChange')](arkts-apis-audio-AudioRoutingManager.md#offdevicechange9)替代。 **系统能力:** SystemCapability.Multimedia.Audio.Device **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------------------------------------- | ---- | ------------------------------------------ | | type | string | 是 | 事件回调类型,支持的事件为'deviceChange',当取消监听音频设备连接变化事件时,触发该事件。 | | callback | Callback<[DeviceChangeAction](arkts-apis-audio-i.md#devicechangeaction)> | 否 | 回调函数,返回设备更新详情。 | **示例:** ```ts // 取消该事件的所有监听。 audioManager.off('deviceChange'); // 同一监听事件中,on方法和off方法传入callback参数一致,off方法取消对应on方法订阅的监听。 let deviceChangeCallback = (deviceChanged: audio.DeviceChangeAction) => { console.info(`device change type : ${deviceChanged.type} `); console.info(`device descriptor size : ${deviceChanged.deviceDescriptors.length} `); console.info(`device change descriptor : ${deviceChanged.deviceDescriptors[0].deviceRole} `); console.info(`device change descriptor : ${deviceChanged.deviceDescriptors[0].deviceType} `); }; audioManager.on('deviceChange', deviceChangeCallback); audioManager.off('deviceChange', deviceChangeCallback); ``` ## on('interrupt')(deprecated) on(type: 'interrupt', interrupt: AudioInterrupt, callback: Callback\): void 监听音频打断事件(当音频焦点发生变化时触发)。使用callback异步回调。 与[on('audioInterrupt')](arkts-apis-audio-AudioRenderer.md#onaudiointerrupt9)作用一致,均用于监听焦点变化。为无音频流的场景(未曾创建AudioRenderer对象),比如FM、语音唤醒等提供焦点变化监听功能。 > **说明:** > 从API version 7开始支持,从API version 11开始废弃,建议使用[on('audioInterrupt')](arkts-apis-audio-AudioCapturer.md#onaudiointerrupt10)替代。 **系统能力:** SystemCapability.Multimedia.Audio.Renderer **参数:** | 参数名 | 类型 | 必填 | 说明 | | --------- |---------------------------------------------------------| ---- | ------------------------------------------------------------ | | type | string | 是 | 事件回调类型,支持的事件为'interrupt',当音频焦点状态发生变化时,触发该事件。 | | interrupt | [AudioInterrupt](arkts-apis-audio-i.md#audiointerruptdeprecated) | 是 | 音频打断事件类型的参数。 | | callback | Callback<[InterruptAction](arkts-apis-audio-i.md#interruptactiondeprecated)> | 是 | 回调函数,返回打断事件信息。 | **示例:** ```ts import { audio } from '@kit.AudioKit'; let interAudioInterrupt: audio.AudioInterrupt = { streamUsage: audio.StreamUsage.STREAM_USAGE_VOICE_COMMUNICATION, contentType: audio.ContentType.CONTENT_TYPE_UNKNOWN, pauseWhenDucked: true }; audioManager.on('interrupt', interAudioInterrupt, (interruptAction: audio.InterruptAction) => { if (interruptAction.actionType === 0) { console.info('An event to gain the audio focus starts.'); console.info(`Focus hint: ${interruptAction.hint} `); } if (interruptAction.actionType === 1) { console.info('An audio interruption event starts.'); console.info(`Audio interruption hint: ${interruptAction.hint} `); } }); ``` ## off('interrupt')(deprecated) off(type: 'interrupt', interrupt: AudioInterrupt, callback?: Callback\): void 取消监听音频打断事件。使用callback异步回调。 > **说明:** > 从API version 7开始支持,从API version 11开始废弃,建议使用[off('audioInterrupt')](arkts-apis-audio-AudioCapturer.md#offaudiointerrupt10)替代。 **系统能力:** SystemCapability.Multimedia.Audio.Renderer **参数:** | 参数名 | 类型 | 必填 | 说明 | | --------- |---------------------------------------------------------| ---- | ------------------------------------------------------------ | | type | string | 是 | 事件回调类型,支持的事件为'interrupt',当取消监听音频打断事件时,触发该事件。 | | interrupt | [AudioInterrupt](arkts-apis-audio-i.md#audiointerruptdeprecated) | 是 | 音频打断事件类型的参数。 | | callback | Callback<[InterruptAction](arkts-apis-audio-i.md#interruptactiondeprecated)> | 否 | 回调函数,返回打断事件信息。 | **示例:** ```ts import { audio } from '@kit.AudioKit'; let interAudioInterrupt: audio.AudioInterrupt = { streamUsage: audio.StreamUsage.STREAM_USAGE_VOICE_COMMUNICATION, contentType: audio.ContentType.CONTENT_TYPE_UNKNOWN, pauseWhenDucked: true }; // 取消该事件的所有监听。 audioManager.off('interrupt', interAudioInterrupt); // 同一监听事件中,on方法和off方法传入callback参数一致,off方法取消对应on方法订阅的监听。 let interruptCallback = (interruptAction: audio.InterruptAction) => { if (interruptAction.actionType === 0) { console.info('An event to gain the audio focus starts.'); console.info(`Focus hint: ${interruptAction.hint} `); } if (interruptAction.actionType === 1) { console.info('An audio interruption event starts.'); console.info(`Audio interruption hint: ${interruptAction.hint} `); } }; audioManager.on('interrupt', interAudioInterrupt, interruptCallback); audioManager.off('interrupt', interAudioInterrupt, interruptCallback); ```