diff --git a/node_modules/react-native-vision-camera/android/src/main/java/com/margelo/nitro/camera/hybrids/outputs/HybridPhotoOutput.kt b/node_modules/react-native-vision-camera/android/src/main/java/com/margelo/nitro/camera/hybrids/outputs/HybridPhotoOutput.kt index f3bdfe3..883fa50 100644 --- a/node_modules/react-native-vision-camera/android/src/main/java/com/margelo/nitro/camera/hybrids/outputs/HybridPhotoOutput.kt +++ b/node_modules/react-native-vision-camera/android/src/main/java/com/margelo/nitro/camera/hybrids/outputs/HybridPhotoOutput.kt @@ -2,7 +2,6 @@ package com.margelo.nitro.camera.hybrids.outputs import android.media.MediaActionSound import android.util.Log -import androidx.camera.core.CameraInfo import androidx.camera.core.CameraSelector import androidx.camera.core.ImageCapture import androidx.camera.core.resolutionselector.ResolutionSelector @@ -161,7 +160,11 @@ class HybridPhotoOutput( // 1. Get settings val isMirrored = shouldMirror() - val enableShutterSound = (settings.enableShutterSound ?: true) || CameraInfo.mustPlayShutterSound() + // The click is played by THIS app via MediaActionSound below — + // CameraInfo.mustPlayShutterSound() only reports device/region policy, it + // does not make the OS play anything. Honor the user toggle: OFF stays + // silent even on devices CameraX flags as must-play. + val enableShutterSound = settings.enableShutterSound != false imageCapture.flashMode = settings.flashMode?.toFlashMode() ?: ImageCapture.FLASH_MODE_OFF val location = if (settings.location != null) { @@ -170,7 +173,6 @@ class HybridPhotoOutput( } else { null } - // 2. Perform Capture var didFireOnDidCapturePhoto = false val image = @@ -228,8 +230,7 @@ class HybridPhotoOutput( // 1. Get settings val isMirrored = shouldMirror() - val enableShutterSound = - (settings.enableShutterSound ?: true) || CameraInfo.mustPlayShutterSound() + val enableShutterSound = settings.enableShutterSound != false imageCapture.flashMode = settings.flashMode?.toFlashMode() ?: ImageCapture.FLASH_MODE_OFF val location = if (settings.location != null) {