diff --git a/zh-cn/application-dev/media/audio-output-device-management.md b/zh-cn/application-dev/media/audio-output-device-management.md index 192efbfa08c217912ee4ebc2bdbcb9a0538d382e..25a59e83677e8a00ede5df72211cb50c5fbbce27 100644 --- a/zh-cn/application-dev/media/audio-output-device-management.md +++ b/zh-cn/application-dev/media/audio-output-device-management.md @@ -45,16 +45,14 @@ audioRoutingManager.getDevices(audio.DeviceFlag.OUTPUT_DEVICES_FLAG).then((data) ```ts // 监听音频设备状态变化 audioRoutingManager.on('deviceChange', audio.DeviceFlag.OUTPUT_DEVICES_FLAG, (deviceChanged) => { - console.info('device change type : ' + deviceChanged.type); // 设备连接状态变化,0为连接,1为断开连接 - 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); // 设备类型 + console.info(`device change type : ${deviceChanged.type}`); // 设备连接状态变化,0为连接,1为断开连接 + 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}`); // 设备类型 }); // 取消监听音频设备状态变化 -audioRoutingManager.off('deviceChange', (deviceChanged) => { - console.info('Should be no callback.'); -}); +audioRoutingManager.off('deviceChange'); ``` ## 选择音频输出设备(仅对系统应用开放) @@ -88,3 +86,46 @@ async function selectOutputDevice(){ }); } ``` + +## 获取最高优先级输设备信息 + +使用getPreferOutputDeviceForRendererInfo()方法, 可以获取当前最高优先级的输出设备。 + +> **说明:** +> +> 最高优先级输出设备表示声音将在此设备输出的设备。 + +```ts +let rendererInfo = { + content : audio.ContentType.CONTENT_TYPE_MUSIC, + usage : audio.StreamUsage.STREAM_USAGE_MEDIA, + rendererFlags : 0, +} + +async function getPreferOutputDeviceForRendererInfo() { + audioRoutingManager.getPreferOutputDeviceForRendererInfo(rendererInfo).then((desc) => { + console.info(`device descriptor: ${desc}`); + }).catch((err) => { + console.error(`Result ERROR: ${err}`); + }) +} +``` + +## 监听最高优先级输出设备变化 + +```ts +let rendererInfo = { + content : audio.ContentType.CONTENT_TYPE_MUSIC, + usage : audio.StreamUsage.STREAM_USAGE_MEDIA, + rendererFlags : 0, +} + +// 监听最高优先级输出设备变化 +audioRoutingManager.on('preferOutputDeviceChangeForRendererInfo', rendererInfo, (desc) => { + console.info(`device change descriptor : ${desc.deviceDescriptors[0].deviceRole}`); // 设备角色 + console.info(`device change descriptor : ${desc.deviceDescriptors[0].deviceType}`); // 设备类型 +}); + +// 取消监听最高优先级输出设备变化 +audioRoutingManager.off('preferOutputDeviceChangeForRendererInfo'); +``` 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 fcf58afaf00316b9c0ad08e715b29bd54d202a24..81c24fa918b769d328444b818503eb9bcf04f2a4 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-audio.md +++ b/zh-cn/application-dev/reference/apis/js-apis-audio.md @@ -2083,9 +2083,7 @@ off(type: 'deviceChange', callback?: Callback): void **示例:** ```js -audioManager.off('deviceChange', (deviceChanged) => { - console.info('Should be no callback.'); -}); +audioManager.off('deviceChange'); ``` ### on('interrupt') @@ -3484,9 +3482,7 @@ off(type: 'deviceChange', callback?: Callback): void **示例:** ```js -audioRoutingManager.off('deviceChange', (deviceChanged) => { - console.info('Should be no callback.'); -}); +audioRoutingManager.off('deviceChange'); ``` ### selectInputDevice9+ @@ -4038,9 +4034,7 @@ off(type: 'preferOutputDeviceChangeForRendererInfo', callback?: Callback { - console.info('Should be no callback.'); -}); +audioRoutingManager.off('preferOutputDeviceChangeForRendererInfo'); ``` ## AudioRendererChangeInfoArray9+