From 8605f63ac66adc86c2db02ef25e4948937398c53 Mon Sep 17 00:00:00 2001 From: lyswhut Date: Sat, 9 May 2020 20:41:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E9=9F=B3=E9=A2=91=E8=BE=93?= =?UTF-8?q?=E5=87=BA=E8=AE=BE=E5=A4=87=E6=94=B9=E5=8F=98=E6=9A=82=E5=81=9C?= =?UTF-8?q?=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- publish/changeLog.md | 2 +- src/renderer/components/core/Player.vue | 31 +++++++++++++++++++------ src/renderer/lang/cns/view/setting.json | 4 ++-- src/renderer/lang/cnt/view/setting.json | 4 ++-- src/renderer/lang/en/view/setting.json | 4 ++-- 5 files changed, 31 insertions(+), 14 deletions(-) diff --git a/publish/changeLog.md b/publish/changeLog.md index cc7f4579..fb316e41 100644 --- a/publish/changeLog.md +++ b/publish/changeLog.md @@ -1,7 +1,7 @@ ### 新增 - 新增`rpm`、`pacman`包的打包 -- 新增所选音频输出设备被移除时是否暂停播放的设置,默认关闭 +- 新增当前音频输出设备改变时是否暂停播放的设置,默认关闭 ### 修复 diff --git a/src/renderer/components/core/Player.vue b/src/renderer/components/core/Player.vue index 9c32f42d..18adcf0d 100644 --- a/src/renderer/components/core/Player.vue +++ b/src/renderer/components/core/Player.vue @@ -620,27 +620,44 @@ export default { }, async setMediaDevice() { let mediaDeviceId = this.setting.player.mediaDeviceId - if (mediaDeviceId != 'default') { - const devices = await navigator.mediaDevices.enumerateDevices() - let device = devices.find(device => device.deviceId === mediaDeviceId) - mediaDeviceId = device ? device.deviceId : 'default' + let label = this.prevDeviceLabel + const devices = await navigator.mediaDevices.enumerateDevices() + let device = devices.find(device => device.deviceId === mediaDeviceId) + if (device) { + mediaDeviceId = device.deviceId + label = device.label + } else { + mediaDeviceId = 'default' + device = devices.find(device => device.deviceId === mediaDeviceId) + if (device) label = device.label } + this.prevDeviceLabel = label // console.log(device) this.audio.setSinkId(mediaDeviceId).catch(err => { console.log(err) this.setMediaDeviceId('default') }) }, + handleDeviceChangeStopPlay(devices, device, mediaDeviceId) { + if (!device) device = devices.find(device => device.deviceId === 'default') + if (!device) device = { label: null } + // console.log(device) + // console.log(this.setting.player.isMediaDeviceRemovedStopPlay, this.isPlay, device.label, this.prevDeviceLabel) + if ( + this.setting.player.isMediaDeviceRemovedStopPlay && + this.isPlay && + device.label != this.prevDeviceLabel + ) this.togglePlay() + }, async handleMediaListChange() { let mediaDeviceId = this.setting.player.mediaDeviceId const devices = await navigator.mediaDevices.enumerateDevices() let device = devices.find(device => device.deviceId === mediaDeviceId) + this.handleDeviceChangeStopPlay(devices, device, mediaDeviceId) if (device) return - // console.log(device) + this.setMediaDeviceId('default') - console.log(this.setting.player.isMediaDeviceRemovedStopPlay, this.isPlay) - if (this.setting.player.isMediaDeviceRemovedStopPlay && this.isPlay) this.togglePlay() }, handlePlayDetailAction({ type, data }) { switch (type) { diff --git a/src/renderer/lang/cns/view/setting.json b/src/renderer/lang/cns/view/setting.json index 10852754..aa5adcf1 100644 --- a/src/renderer/lang/cns/view/setting.json +++ b/src/renderer/lang/cns/view/setting.json @@ -38,8 +38,8 @@ "play_task_bar": "任务栏播放进度条", "play_mediaDevice_title": "选择声音输出的媒体设备", "play_mediaDevice": "音频输出", - "play_mediaDevice_remove_stop_play": "所选音频输出设备被移除时是否暂停播放", - "play_mediaDevice_remove_stop_play_title": "所选的声音输出设备被移除时是否暂停播放歌曲", + "play_mediaDevice_remove_stop_play": "音频输出设备被改变时是否暂停播放", + "play_mediaDevice_remove_stop_play_title": "当前的声音输出设备被改变时是否暂停播放歌曲", "search": "搜索设置", "search_hot_title": "是否显示热门搜索", diff --git a/src/renderer/lang/cnt/view/setting.json b/src/renderer/lang/cnt/view/setting.json index 1eb73fce..7668b2aa 100644 --- a/src/renderer/lang/cnt/view/setting.json +++ b/src/renderer/lang/cnt/view/setting.json @@ -37,8 +37,8 @@ "play_task_bar": "任務欄播放進度條", "play_mediaDevice_title": "選擇聲音輸出的媒體設備", "play_mediaDevice": "音頻輸出", - "play_mediaDevice_remove_stop_play": "所選音頻輸出設備被移除時是否暫停播放", - "play_mediaDevice_remove_stop_play_title": "所選的聲音輸出設備被移除時是否暫停播放歌曲", + "play_mediaDevice_remove_stop_play": "音頻輸出設備被改變時是否暫停播放", + "play_mediaDevice_remove_stop_play_title": "當前的聲音輸出設備被改變時是否暫停播放歌曲", "search": "搜索設置", "search_hot_title": "是否顯示熱門搜索", "search_hot": "熱門搜索", diff --git a/src/renderer/lang/en/view/setting.json b/src/renderer/lang/en/view/setting.json index 5114ff2f..2e94bccb 100644 --- a/src/renderer/lang/en/view/setting.json +++ b/src/renderer/lang/en/view/setting.json @@ -38,8 +38,8 @@ "play_task_bar": "Taskbar play progress bar", "play_mediaDevice_title": "Select a media device for audio output", "play_mediaDevice": "Audio output", - "play_mediaDevice_remove_stop_play": "Whether to pause playback when the selected audio output device is removed", - "play_mediaDevice_remove_stop_play_title": "Whether to pause the song when the selected sound output device is removed", + "play_mediaDevice_remove_stop_play": "Whether to pause playback when the audio output device is changed", + "play_mediaDevice_remove_stop_play_title": "Whether to pause the song when the current sound output device is changed", "search": "Search", "search_hot_title": "Select whether to show popular searches",