mirror of
https://github.com/SimpleMobileTools/Simple-Camera.git
synced 2025-05-22 09:54:14 +02: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()
|
mFadeHandler = Handler()
|
||||||
setupPreviewImage(true)
|
setupPreviewImage(true)
|
||||||
|
|
||||||
val initialFlashlightState = config.flashlightState
|
val initialFlashlightState = FLASH_OFF
|
||||||
mPreview!!.setFlashlightState(initialFlashlightState)
|
mPreview!!.setFlashlightState(initialFlashlightState)
|
||||||
updateFlashlightState(initialFlashlightState)
|
updateFlashlightState(initialFlashlightState)
|
||||||
}
|
}
|
||||||
|
@ -122,7 +122,7 @@ class CameraXPreview(
|
|||||||
private var currentRecording: Recording? = null
|
private var currentRecording: Recording? = null
|
||||||
private var recordingState: VideoRecordEvent? = null
|
private var recordingState: VideoRecordEvent? = null
|
||||||
private var cameraSelector = config.lastUsedCameraLens.toCameraSelector()
|
private var cameraSelector = config.lastUsedCameraLens.toCameraSelector()
|
||||||
private var flashMode = config.flashlightState.toCameraXFlashMode()
|
private var flashMode = FLASH_MODE_OFF
|
||||||
private var isPhotoCapture = config.initPhotoMode
|
private var isPhotoCapture = config.initPhotoMode
|
||||||
|
|
||||||
init {
|
init {
|
||||||
@ -357,13 +357,22 @@ class CameraXPreview(
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun toggleFlashlight() {
|
override fun toggleFlashlight() {
|
||||||
val newFlashMode = when (flashMode) {
|
val newFlashMode = if (isPhotoCapture) {
|
||||||
|
when (flashMode) {
|
||||||
FLASH_MODE_OFF -> FLASH_MODE_ON
|
FLASH_MODE_OFF -> FLASH_MODE_ON
|
||||||
FLASH_MODE_ON -> FLASH_MODE_AUTO
|
FLASH_MODE_ON -> FLASH_MODE_AUTO
|
||||||
FLASH_MODE_AUTO -> FLASH_MODE_OFF
|
FLASH_MODE_AUTO -> FLASH_MODE_OFF
|
||||||
else -> throw IllegalArgumentException("Unknown mode: $flashMode")
|
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
|
flashMode = newFlashMode
|
||||||
imageCapture?.flashMode = newFlashMode
|
imageCapture?.flashMode = newFlashMode
|
||||||
val appFlashMode = flashMode.toAppFlashMode()
|
val appFlashMode = flashMode.toAppFlashMode()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user