修复“当前的声音输出设备被改变时暂停播放歌曲”设置无效的问题
parent
86f9c03707
commit
b51c8e1552
|
@ -2,6 +2,10 @@
|
||||||
|
|
||||||
- 优化Windows任务栏缩略图工具栏控制按钮在浅色任务栏下的显示效果
|
- 优化Windows任务栏缩略图工具栏控制按钮在浅色任务栏下的显示效果
|
||||||
|
|
||||||
|
### 修复
|
||||||
|
|
||||||
|
- 修复“当前的声音输出设备被改变时暂停播放歌曲”设置无效的问题
|
||||||
|
|
||||||
### 文档
|
### 文档
|
||||||
|
|
||||||
添加LX中定义的快捷操作汇总说明到常见问题中,这是目前可用的鼠标、键盘快捷操作,他们都可以在更新日志中找到
|
添加LX中定义的快捷操作汇总说明到常见问题中,这是目前可用的鼠标、键盘快捷操作,他们都可以在更新日志中找到
|
||||||
|
|
|
@ -7,6 +7,10 @@ import { setMediaDeviceId } from '@renderer/plugins/player'
|
||||||
import { isPlay } from '@renderer/core/share/player'
|
import { isPlay } from '@renderer/core/share/player'
|
||||||
import { player as eventPlayerNames } from '@renderer/event/names'
|
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 }) => {
|
export default ({ setting }) => {
|
||||||
let prevDeviceLabel = null
|
let prevDeviceLabel = null
|
||||||
|
@ -15,7 +19,7 @@ export default ({ setting }) => {
|
||||||
|
|
||||||
const setMediaDevice = async(mediaDeviceId) => {
|
const setMediaDevice = async(mediaDeviceId) => {
|
||||||
let label = prevDeviceLabel
|
let label = prevDeviceLabel
|
||||||
const devices = await navigator.mediaDevices.enumerateDevices()
|
const devices = await getDevices()
|
||||||
let device = devices.find(device => device.deviceId === mediaDeviceId)
|
let device = devices.find(device => device.deviceId === mediaDeviceId)
|
||||||
if (device) {
|
if (device) {
|
||||||
mediaDeviceId = device.deviceId
|
mediaDeviceId = device.deviceId
|
||||||
|
@ -41,12 +45,12 @@ export default ({ setting }) => {
|
||||||
setting.value.player.isMediaDeviceRemovedStopPlay &&
|
setting.value.player.isMediaDeviceRemovedStopPlay &&
|
||||||
isPlay.value &&
|
isPlay.value &&
|
||||||
device.label != prevDeviceLabel
|
device.label != prevDeviceLabel
|
||||||
) window.eventHub.emit(eventPlayerNames.setTogglePlay)
|
) window.eventHub.emit(eventPlayerNames.setPause)
|
||||||
}
|
}
|
||||||
|
|
||||||
const handleMediaListChange = async() => {
|
const handleMediaListChange = async() => {
|
||||||
let mediaDeviceId = setting.value.player.mediaDeviceId
|
let mediaDeviceId = setting.value.player.mediaDeviceId
|
||||||
const devices = await navigator.mediaDevices.enumerateDevices()
|
const devices = await getDevices()
|
||||||
let device = devices.find(device => device.deviceId === mediaDeviceId)
|
let device = devices.find(device => device.deviceId === mediaDeviceId)
|
||||||
if (!device) device = devices.find(device => device.deviceId === 'default')
|
if (!device) device = devices.find(device => device.deviceId === 'default')
|
||||||
if (!device) device = { label: null, deviceId: null }
|
if (!device) device = { label: null, deviceId: null }
|
||||||
|
|
Loading…
Reference in New Issue