diff --git a/zh-cn/application-dev/reference/apis/js-apis-audio.md b/zh-cn/application-dev/reference/apis/js-apis-audio.md
index c2c247135731492f3a40a61883ace2b37179176c..6dedcd720a7b699fac3545556a4529551e984eb0 100644
--- a/zh-cn/application-dev/reference/apis/js-apis-audio.md
+++ b/zh-cn/application-dev/reference/apis/js-apis-audio.md
@@ -695,6 +695,56 @@ audio.createAudioCapturer(audioCapturerOptions).then((data) => {
管理音频音量和音频设备。在调用AudioManager的接口前,需要先通过[getAudioManager](#audiogetaudiomanager)创建实例。
+### getRoutingManager9+
+
+getRoutingManager(callback: AsyncCallback<AudioRoutingManager>): void
+
+获取AudioRoutingManager对象,使用callback方式异步返回结果。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Device
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ---------- | ---------------------------------------------------------------- | ---- | --------------------------------- |
+| callback | AsyncCallback<[AudioRoutingManager](#audioroutingmanager9)> | 是 | 回调,返回AudioRoutingManager对象。 |
+
+**示例:**
+```js
+await audioManager.getRoutingManager((err,callback) => {
+ if (err) {
+ console.error(`Result ERROR: ${err.message}`);
+ }
+ console.info('getRoutingManager Callback SUCCESS.');
+ var audioRoutingManager;
+ audioRoutingManager = callback;
+});
+```
+
+### getRoutingManager9+
+
+getRoutingManager(): Promise<AudioRoutingManager>
+
+获取AudioRoutingManager对象,使用Promise方式异步返回结果。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Device
+
+**返回值:**
+
+| 类型 | 说明 |
+| ----------------------------------------------------------- | --------------------------------------- |
+| Promise<[AudioRoutingManager](#audioroutingmanager9)> | Promise回调返回AudioRoutingManager对象。 |
+
+**示例:**
+```js
+await audioManager.getRoutingManager().then((value) => {
+ var routingManager = value;
+ console.info('getRoutingManager Promise SUCCESS.');
+}).catch((err) => {
+ console.error(`Result ERROR: ${err.message}`);
+});
+```
+
### setVolume
setVolume(volumeType: AudioVolumeType, volume: number, callback: AsyncCallback<void>): void
@@ -2268,6 +2318,172 @@ var result = audioStreamManager.isAudioRendererLowLatencySupported(AudioStreamIn
console.info(`isAudioRendererLowLatencySupported success var =` + result);
```
+## AudioRoutingManager9+
+
+音频路由管理。在使用AudioRoutingManager的接口前,需要使用[getRoutingManager](#getroutingmanager9)获取AudioRoutingManager实例。
+
+### selectOutputDevice9+
+
+selectOutputDevice(audiodevicedescriptors: AudioDeviceDescriptors, callback: AsyncCallback<void>): void
+
+选择音频输出设备,当前只能选择一个输出设备,使用callback方式异步返回结果。该接口为系统应用接口。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Device
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| --------------------------- | ------------------------------------------------------------ | ---- | ------------------------- |
+| audiodevicedescriptors | [AudioDeviceDescriptors](#audiodevicedescriptors) | 是 | 输出设备类。 |
+| callback | AsyncCallback<void> | 是 | 回调,返回获取输出设备结果。 |
+
+**示例:**
+```js
+let outputAudioDeviceDescriptor = [{
+ "deviceRole":audio.DeviceRole.OUTPUT_DEVICE,
+ "networkId":audio.LOCAL_NETWORK_ID,
+ "interruptGroupId":1,
+ "volumeGroupId":1 }];
+var audioRoutingManager;
+await audioManager.getRoutingManager().then((value) => {
+ audioRoutingManager = value;
+ audioRoutingManager.selectOutputDevice(outputAudioDeviceDescriptor, (err) => {
+ if (err) {
+ console.error(`Result ERROR: ${err.message}`);
+ } else {
+ console.info('Select output devices result callback: SUCCESS'); }
+ });
+});
+```
+
+### selectOutputDevice9+
+
+selectOutputDevice(audiodevicedescriptors: AudioDeviceDescriptors): Promise<void>
+
+选择音频输出设备,当前只能选择一个输出设备,使用Promise方式异步返回结果。该接口为系统应用接口。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Device
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| --------------------------- | ------------------------------------------------------------ | ---- | ------------------------- |
+| audiodevicedescriptors | [AudioDeviceDescriptors](#audiodevicedescriptors) | 是 | 输出设备类。 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| --------------------- | --------------------------- |
+| Promise<void> | Promise返回选择输出设备结果。 |
+
+**示例:**
+
+```js
+let outputAudioDeviceDescriptor =[{
+ "deviceRole":audio.DeviceRole.OUTPUT_DEVICE,
+ "networkId":audio.LOCAL_NETWORK_ID,
+ "interruptGroupId":1,
+ "volumeGroupId":1 }];
+var audioRoutingManager;
+await audioManager.getRoutingManager().then((value) => {
+ audioRoutingManager = value;
+ audioRoutingManager.selectOutputDevice(outputAudioDeviceDescriptor).then(() => {
+ console.info('Select output devices result promise: SUCCESS');
+ }).catch((err) => {
+ console.error(`Result ERROR: ${err.message}`);
+ });
+});
+```
+
+### selectOutputDeviceByFilter9+
+
+selectOutputDeviceByFilter(audiorendererfilter: AudioRendererFilter, audiodevicedescriptors: AudioDeviceDescriptors, callback: AsyncCallback<void>): void
+
+根据过滤条件,选择音频输出设备,当前只能选择一个输出设备,使用callback方式异步返回结果。该接口为系统应用接口。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Device
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| --------------------------- | ------------------------------------------------------------ | ---- | ------------------------- |
+| audiorendererfilter | [AudioRendererFilter](#audiorendererfilter9) | 是 | 过滤条件类。 |
+| audiodevicedescriptors | [AudioDeviceDescriptors](#audiodevicedescriptors) | 是 | 输出设备类。 |
+| callback | AsyncCallback<void> | 是 | 回调,返回获取输出设备结果。 |
+
+**示例:**
+```js
+let outputAudioRendererFilter = {
+ "uid":20010041,
+ "rendererInfo": {
+ "contentType":audio.ContentType.CONTENT_TYPE_MUSIC,
+ "streamUsage":audio.StreamUsage.STREAM_USAGE_MEDIA,
+ "rendererFlags":0 },
+ "rendererId":0 };
+let outputAudioDeviceDescriptor = [{
+ "deviceRole":audio.DeviceRole.OUTPUT_DEVICE,
+ "networkId":audio.LOCAL_NETWORK_ID,
+ "interruptGroupId":1,
+ "volumeGroupId":1 }];
+var audioRoutingManager;
+await audioManager.getRoutingManager().then((value) => {
+ audioRoutingManager = value;
+ audioRoutingManager.selectOutputDeviceByFilter(outputAudioRendererFilter, outputAudioDeviceDescriptor, (err) => {
+ if (err) {
+ console.error(`Result ERROR: ${err.message}`);
+ } else {
+ console.info('Select output devices by filter result callback: SUCCESS'); }
+ });
+});
+```
+
+### selectOutputDeviceByFilter9+
+
+selectOutputDeviceByFilter(audiorendererfilter: AudioRendererFilter, audiodevicedescriptors: AudioDeviceDescriptors): Promise<void>
+
+根据过滤条件,选择音频输出设备,当前只能选择一个输出设备,使用Promise方式异步返回结果。该接口为系统应用接口。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Device
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ---------------------------- | ------------------------------------------------------------ | ---- | ------------------------- |
+| audiorendererfilter | [AudioRendererFilter](#audiorendererfilter9) | 是 | 过滤条件类。 |
+| audiodevicedescriptors | [AudioDeviceDescriptors](#audiodevicedescriptors) | 是 | 输出设备类。 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| --------------------- | --------------------------- |
+| Promise<void> | Promise返回选择输出设备结果。 |
+
+**示例:**
+
+```js
+let outputAudioRendererFilter = {
+ "uid":20010041,
+ "rendererInfo": {
+ "contentType":audio.ContentType.CONTENT_TYPE_MUSIC,
+ "streamUsage":audio.StreamUsage.STREAM_USAGE_MEDIA,
+ "rendererFlags":0 },
+ "rendererId":0 };
+let outputAudioDeviceDescriptor = [{
+ "deviceRole":audio.DeviceRole.OUTPUT_DEVICE,
+ "networkId":audio.LOCAL_NETWORK_ID,
+ "interruptGroupId":1,
+ "volumeGroupId":1 }];
+var audioRoutingManager;
+await audioManager.getRoutingManager().then((value) => {
+ audioRoutingManager = value;
+ audioRoutingManager.selectOutputDeviceByFilter(outputAudioRendererFilter, outputAudioDeviceDescriptor).then(() => {
+ console.info('Select output devices by filter result promise: SUCCESS');
+ }).catch((err) => {
+ console.error(`Result ERROR: ${err.message}`);
+ })
+});
+```
+
## AudioRendererChangeInfo9+
描述音频渲染器更改信息。
@@ -2401,16 +2617,19 @@ audioStreamManager.on('audioCapturerChange', (AudioCapturerChangeInfoArray) =>
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Audio.Device
-| 名称 | 类型 | 可读 | 可写 | 说明 |
-| -------------------------- | -------------------------- | ---- | ---- | ---------- |
-| deviceRole | [DeviceRole](#devicerole) | 是 | 否 | 设备角色。 |
-| deviceType | [DeviceType](#devicetype) | 是 | 否 | 设备类型。 |
-| id9+ | number | 是 | 否 | 设备id。 |
-| name9+ | string | 是 | 否 | 设备名称。 |
-| address9+ | string | 是 | 否 | 设备地址。 |
-| sampleRates9+ | Array<number> | 是 | 否 | 支持的采样率。 |
-| channelCounts9+ | Array<number> | 是 | 否 | 支持的通道数。 |
-| channelMasks9+ | Array<number> | 是 | 否 | 支持的通道掩码。 |
+| 名称 | 类型 | 可读 | 可写 | 说明 |
+| ----------------------------- | -------------------------- | ---- | ---- | ---------- |
+| deviceRole | [DeviceRole](#devicerole) | 是 | 否 | 设备角色。 |
+| deviceType | [DeviceType](#devicetype) | 是 | 否 | 设备类型。 |
+| id9+ | number | 是 | 否 | 设备id。 |
+| name9+ | string | 是 | 否 | 设备名称。 |
+| address9+ | string | 是 | 否 | 设备地址。 |
+| sampleRates9+ | Array<number> | 是 | 否 | 支持的采样率。 |
+| channelCounts9+ | Array<number> | 是 | 否 | 支持的通道数。 |
+| channelMasks9+ | Array<number> | 是 | 否 | 支持的通道掩码。 |
+| networkId9+ | string | 是 | 否 | 设备组网的ID。 |
+| interruptGroupId9+ | number | 是 | 否 | 设备所处的焦点组ID。 |
+| volumeGroupId9+ | number | 是 | 否 | 设备所处的音量组ID。 |
## AudioDeviceDescriptors
@@ -2440,6 +2659,30 @@ promise.then(function (value) {
});
```
+## AudioRendererFilter9+
+
+过滤条件类。在调用selectOutputDeviceByFilter接口前,需要先创建AudioRendererFilter实例。
+
+**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Audio.Device
+
+| 名称 | 类型 | 必填 | 说明 |
+| -------------| ---------------------------------------- | ---- | -------------- |
+| uid | number | 是 | 表示应用ID。 |
+| rendererInfo | [AudioRendererInfo](#audiorendererinfo8) | 否 | 表示渲染器信息。 |
+| rendererId | number | 否 | 音频流唯一id。 |
+
+**示例:**
+
+```js
+let outputAudioRendererFilter = {
+ "uid":20010041,
+ "rendererInfo": {
+ "contentType":audio.ContentType.CONTENT_TYPE_MUSIC,
+ "streamUsage":audio.StreamUsage.STREAM_USAGE_MEDIA,
+ "rendererFlags":0 },
+ "rendererId":0 };
+```
+
## AudioRenderer8+
提供音频渲染的相关接口。在调用AudioRenderer的接口前,需要先通过[createAudioRenderer](#audiocreateaudiorenderer8)创建实例。