diff --git a/publish/changeLog.md b/publish/changeLog.md index 244a38df..5952e28c 100644 --- a/publish/changeLog.md +++ b/publish/changeLog.md @@ -2,6 +2,10 @@ - 优化Windows任务栏缩略图工具栏控制按钮在浅色任务栏下的显示效果 +### 修复 + +- 修复“当前的声音输出设备被改变时暂停播放歌曲”设置无效的问题 + ### 文档 添加LX中定义的快捷操作汇总说明到常见问题中,这是目前可用的鼠标、键盘快捷操作,他们都可以在更新日志中找到 diff --git a/src/renderer/core/useApp/usePlayer/useMediaDevice.js b/src/renderer/core/useApp/usePlayer/useMediaDevice.js index fe439eed..04599c50 100644 --- a/src/renderer/core/useApp/usePlayer/useMediaDevice.js +++ b/src/renderer/core/useApp/usePlayer/useMediaDevice.js @@ -7,6 +7,10 @@ import { setMediaDeviceId } from '@renderer/plugins/player' import { isPlay } from '@renderer/core/share/player' import { player as eventPlayerNames } from '@renderer/event/names' +const getDevices = async() => { + const devices = await navigator.mediaDevices.enumerateDevices() + return devices.filter(({ kind }) => kind == 'audiooutput') +} export default ({ setting }) => { let prevDeviceLabel = null @@ -15,7 +19,7 @@ export default ({ setting }) => { const setMediaDevice = async(mediaDeviceId) => { let label = prevDeviceLabel - const devices = await navigator.mediaDevices.enumerateDevices() + const devices = await getDevices() let device = devices.find(device => device.deviceId === mediaDeviceId) if (device) { mediaDeviceId = device.deviceId @@ -41,12 +45,12 @@ export default ({ setting }) => { setting.value.player.isMediaDeviceRemovedStopPlay && isPlay.value && device.label != prevDeviceLabel - ) window.eventHub.emit(eventPlayerNames.setTogglePlay) + ) window.eventHub.emit(eventPlayerNames.setPause) } const handleMediaListChange = async() => { let mediaDeviceId = setting.value.player.mediaDeviceId - const devices = await navigator.mediaDevices.enumerateDevices() + const devices = await getDevices() let device = devices.find(device => device.deviceId === mediaDeviceId) if (!device) device = devices.find(device => device.deviceId === 'default') if (!device) device = { label: null, deviceId: null }