修复“当前的声音输出设备被改变时暂停播放歌曲”设置无效的问题

pull/930/merge
lyswhut 2022-02-28 12:00:54 +08:00
parent 86f9c03707
commit b51c8e1552
2 changed files with 11 additions and 3 deletions

View File

@ -2,6 +2,10 @@
- 优化Windows任务栏缩略图工具栏控制按钮在浅色任务栏下的显示效果
### 修复
- 修复“当前的声音输出设备被改变时暂停播放歌曲”设置无效的问题
### 文档
添加LX中定义的快捷操作汇总说明到常见问题中这是目前可用的鼠标、键盘快捷操作他们都可以在更新日志中找到

View File

@ -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 }