mirror of
https://github.com/SimpleMobileTools/Simple-Camera.git
synced 2025-02-16 11:20:55 +01:00
handle torch state in video capture
- set initial torch state to off - enable/disable the torch when flash mode is on/off in video mode
This commit is contained in:
parent
79f9267383
commit
b10d8639fd
@ -236,7 +236,7 @@ class MainActivity : SimpleActivity(), PhotoProcessor.MediaSavedListener, Camera
|
||||
mFadeHandler = Handler()
|
||||
setupPreviewImage(true)
|
||||
|
||||
val initialFlashlightState = config.flashlightState
|
||||
val initialFlashlightState = FLASH_OFF
|
||||
mPreview!!.setFlashlightState(initialFlashlightState)
|
||||
updateFlashlightState(initialFlashlightState)
|
||||
}
|
||||
|
@ -122,7 +122,7 @@ class CameraXPreview(
|
||||
private var currentRecording: Recording? = null
|
||||
private var recordingState: VideoRecordEvent? = null
|
||||
private var cameraSelector = config.lastUsedCameraLens.toCameraSelector()
|
||||
private var flashMode = config.flashlightState.toCameraXFlashMode()
|
||||
private var flashMode = FLASH_MODE_OFF
|
||||
private var isPhotoCapture = config.initPhotoMode
|
||||
|
||||
init {
|
||||
@ -357,13 +357,22 @@ class CameraXPreview(
|
||||
}
|
||||
|
||||
override fun toggleFlashlight() {
|
||||
val newFlashMode = when (flashMode) {
|
||||
FLASH_MODE_OFF -> FLASH_MODE_ON
|
||||
FLASH_MODE_ON -> FLASH_MODE_AUTO
|
||||
FLASH_MODE_AUTO -> FLASH_MODE_OFF
|
||||
else -> throw IllegalArgumentException("Unknown mode: $flashMode")
|
||||
val newFlashMode = if (isPhotoCapture) {
|
||||
when (flashMode) {
|
||||
FLASH_MODE_OFF -> FLASH_MODE_ON
|
||||
FLASH_MODE_ON -> FLASH_MODE_AUTO
|
||||
FLASH_MODE_AUTO -> FLASH_MODE_OFF
|
||||
else -> throw IllegalArgumentException("Unknown mode: $flashMode")
|
||||
}
|
||||
} else {
|
||||
when (flashMode) {
|
||||
FLASH_MODE_OFF -> FLASH_MODE_ON
|
||||
FLASH_MODE_ON -> FLASH_MODE_OFF
|
||||
else -> throw IllegalArgumentException("Unknown mode: $flashMode")
|
||||
}.also {
|
||||
camera?.cameraControl?.enableTorch(it == FLASH_MODE_ON)
|
||||
}
|
||||
}
|
||||
|
||||
flashMode = newFlashMode
|
||||
imageCapture?.flashMode = newFlashMode
|
||||
val appFlashMode = flashMode.toAppFlashMode()
|
||||
|
Loading…
x
Reference in New Issue
Block a user