From 97d3d3c6160d4b0111aae5f9a8f34f71ad0a9c6c Mon Sep 17 00:00:00 2001 From: lyswhut Date: Tue, 14 May 2024 19:27:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AA=92=E4=BD=93=E8=BE=93?= =?UTF-8?q?=E5=87=BA=E8=AE=BE=E5=A4=87=E6=A3=80=E6=B5=8B=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/lang/en-us.json | 1 + src/lang/zh-cn.json | 1 + src/lang/zh-tw.json | 1 + src/renderer/core/useApp/usePlayer/useMediaDevice.ts | 12 ++++++++++++ 4 files changed, 15 insertions(+) diff --git a/src/lang/en-us.json b/src/lang/en-us.json index f048c7fd..7014cc8d 100644 --- a/src/lang/en-us.json +++ b/src/lang/en-us.json @@ -182,6 +182,7 @@ "lyric_menu__size_add": "Increase font size (right click to fine-tune)", "lyric_menu__size_dec": "Decrease font (right click to fine tune)", "lyric_menu__size_reset": "Reset", + "media_device__emtpy_device_tip": "The audio output device is empty. If it cannot be played, please check whether the sound card driver has been installed or reinstall the sound card driver!", "min": "Minimize", "music_album": "Album", "music_duplicate": "Duplicate song", diff --git a/src/lang/zh-cn.json b/src/lang/zh-cn.json index 11403e76..003cc7ec 100644 --- a/src/lang/zh-cn.json +++ b/src/lang/zh-cn.json @@ -182,6 +182,7 @@ "lyric_menu__size_add": "加大字体(右击可微调)", "lyric_menu__size_dec": "减小字体(右击可微调)", "lyric_menu__size_reset": "重置", + "media_device__emtpy_device_tip": "音频输出设备为空,若出现无法播放的情况,请检查声卡驱动是否已安装或重装声卡驱动!", "min": "最小化", "music_album": "专辑名", "music_duplicate": "重复歌曲", diff --git a/src/lang/zh-tw.json b/src/lang/zh-tw.json index ac29c922..8f5e127b 100644 --- a/src/lang/zh-tw.json +++ b/src/lang/zh-tw.json @@ -182,6 +182,7 @@ "lyric_menu__size_add": "加大字體(右鍵可微調)", "lyric_menu__size_dec": "減小字體(右鍵可微調)", "lyric_menu__size_reset": "重置", + "media_device__emtpy_device_tip": "音訊輸出裝置為空,若出現無法播放的狀況,請檢查音效卡驅動是否已安裝或重裝音效卡驅動!", "min": "最小化", "music_album": "專輯名", "music_duplicate": "重複歌曲", diff --git a/src/renderer/core/useApp/usePlayer/useMediaDevice.ts b/src/renderer/core/useApp/usePlayer/useMediaDevice.ts index 27bb29c7..76995f6f 100644 --- a/src/renderer/core/useApp/usePlayer/useMediaDevice.ts +++ b/src/renderer/core/useApp/usePlayer/useMediaDevice.ts @@ -3,6 +3,7 @@ import { watch, } from '@common/utils/vueTools' import { pause } from '@renderer/core/player/action' +import { dialog } from '@renderer/plugins/Dialog' import { setMediaDeviceId } from '@renderer/plugins/player' import { isPlay } from '@renderer/store/player/state' import { appSetting, saveMediaDeviceId } from '@renderer/store/setting' @@ -12,6 +13,8 @@ const getDevices = async() => { return devices.filter(({ kind }) => kind == 'audiooutput') } +let isShowingTipAlert = false + export default () => { let prevDeviceLabel: string | null = null let prevDeviceId = '' @@ -24,6 +27,15 @@ export default () => { device = devices.find(device => device.deviceId === deviceId) } + if (!device && !devices.length && !isShowingTipAlert) { + isShowingTipAlert = true + void dialog({ + message: window.i18n.t('media_device__emtpy_device_tip'), + confirmButtonText: window.i18n.t('ok'), + }).finally(() => { + isShowingTipAlert = false + }) + } return device ? { label: device.label, deviceId: device.deviceId } : { label: '', deviceId: '' } } const setMediaDevice = async(deviceId: string, label: string) => {