diff --git a/src/views/HomeView.vue b/src/views/HomeView.vue index bd8da6b..c91f362 100644 --- a/src/views/HomeView.vue +++ b/src/views/HomeView.vue @@ -272,14 +272,23 @@ async function openCamera() { return } - // change camera device - if (cameraIsOn.value) { - await camera.value?.stop() + if (!isPermissionCameraDenied.value) { + // change camera device + if (cameraIsOn.value) { + await camera.value?.stop() + } else { + await camera.value?.start() + await changeCamera() // ต้องรอให้ start() เสร็จก่อน + } + cameraIsOn.value = !cameraIsOn.value } else { - await camera.value?.start() - await changeCamera() // ต้องรอให้ start() เสร็จก่อน + messageError( + $q, + '', + 'ไม่สามารถเข้าถึงกล้องได้ กรุณาอนุญาตการเข้าถึงกล้องในเบราว์เซอร์ของคุณ' + ) + return } - cameraIsOn.value = !cameraIsOn.value } /** change camera device*/ @@ -542,7 +551,6 @@ async function requestCamera() { try { await navigator.mediaDevices.getUserMedia({ video: true }) } catch (err) { - console.error('ผู้ใช้ปฏิเสธการเข้าถึง หรือเกิดข้อผิดพลาด: ', err) isPermissionCameraDenied.value = true } } @@ -671,12 +679,7 @@ watch(