diff --git a/src/locale/lang/en.js b/src/locale/lang/en.js index 29983e4..9337d75 100644 --- a/src/locale/lang/en.js +++ b/src/locale/lang/en.js @@ -119,7 +119,6 @@ export default { lossless: "Lossless", }, deviceSelector: "Audio Output Device", - permissionDenied: "Microphone Permission Denied", permissionRequired: "Microphone Permission Required", appearance: { text: "Appearance", diff --git a/src/locale/lang/zh-CN.js b/src/locale/lang/zh-CN.js index 10c7eec..3b7e0a1 100644 --- a/src/locale/lang/zh-CN.js +++ b/src/locale/lang/zh-CN.js @@ -120,7 +120,6 @@ export default { lossless: "无损", }, deviceSelector: "音频输出设备", - permissionDenied: "无麦克风权限", permissionRequired: "需要麦克风权限", appearance: { text: "外观", diff --git a/src/views/settings.vue b/src/views/settings.vue index b293a05..7a51c6c 100644 --- a/src/views/settings.vue +++ b/src/views/settings.vue @@ -401,27 +401,24 @@ export default { }, methods: { getAllOutputDevices() { - navigator.mediaDevices - .getUserMedia({ audio: true }) - .then(() => { + navigator.mediaDevices.enumerateDevices().then((devices) => { + this.allOutputDevices = devices.filter((device) => { + return device.kind == "audiooutput"; + }); + if ( + this.allOutputDevices.length > 0 && + this.allOutputDevices[0].label !== "" + ) { this.withoutAudioPriviledge = false; - navigator.mediaDevices - .enumerateDevices() - .then( - (devices) => - (this.allOutputDevices = devices.filter( - (device) => device.kind == "audiooutput" - )) - ); - }) - .catch(() => { + } else { this.allOutputDevices = [ { deviceId: "default", - label: "settings.permissionDenied", + label: "settings.permissionRequired", }, ]; - }); + } + }); }, logout() { doLogout();