中国优质的IT技术网站
专业IT技术创作平台
IT职业在线教育平台
佩戴耳机观看视频,摘下耳机后,声音通过扬声器外放。
正在发声的耳机不可用后(有线耳机断开、蓝牙开关关闭、蓝牙耳机入盒、多连接耳机被抢占等),应用通过监听设备变更事件并对AudioStreamDeviceChangeReason.REASON_OLD_DEVICE_UNAVAILABLE的场景进行处理,应用需要根据使用场景选择暂停播放或使用新设备继续播放,例如为扬声器时暂停,为其他设备则继续播放。
private setOutputDeviceChangeCallback() { if (!this.audioRenderer) { return; } this.audioRenderer.on('outputDeviceChangeWithInfo', this.outputDeviceChangeCallback); } private outputDeviceChangeCallback: (deviceChangeInfo: audio.AudioStreamDeviceChangeInfo) => void = (deviceChangeInfo: audio.AudioStreamDeviceChangeInfo) => { Logger.info(TAG, `DeviceInfo id: ${deviceChangeInfo.devices[0].id}`); Logger.info(TAG, `DeviceInfo name: ${deviceChangeInfo.devices[0].name}`); Logger.info(TAG, `DeviceInfo address: ${deviceChangeInfo.devices[0].address}`); Logger.info(TAG, `Device change reason: ${deviceChangeInfo.changeReason}`); if (deviceChangeInfo.changeReason === audio.AudioStreamDeviceChangeReason.REASON_OLD_DEVICE_UNAVAILABLE) { // 旧设备不可用,暂停播放 Logger.info(TAG, `Device change reason: ${deviceChangeInfo.changeReason}`); this.pause(); } }
微信扫码分享