From b51c8e155288b74ec3ebc64ffe29eaddb1aa0cff Mon Sep 17 00:00:00 2001 From: lyswhut Date: Mon, 28 Feb 2022 12:00:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E2=80=9C=E5=BD=93=E5=89=8D?= =?UTF-8?q?=E7=9A=84=E5=A3=B0=E9=9F=B3=E8=BE=93=E5=87=BA=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E8=A2=AB=E6=94=B9=E5=8F=98=E6=97=B6=E6=9A=82=E5=81=9C=E6=92=AD?= =?UTF-8?q?=E6=94=BE=E6=AD=8C=E6=9B=B2=E2=80=9D=E8=AE=BE=E7=BD=AE=E6=97=A0?= =?UTF-8?q?=E6=95=88=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- publish/changeLog.md | 4 ++++ src/renderer/core/useApp/usePlayer/useMediaDevice.js | 10 +++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) 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 }