Как сделать снимок с камеры устройства? - Android-студия - КотлинAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Как сделать снимок с камеры устройства? - Android-студия - Котлин

Сообщение Anonymous »

Я некоторое время работал над проектом в Android Studio с Kotlin. .
Я создал эту функцию, но она не работает и возвращает ошибку, а затем камера замораживает в приложении. < /p>
Это ошибка, которую он возвращает: < /< / p>
Failed to save hand image: Processing failed.< /code> < /p>
Я попробовал много попыток, но ни один из них не работал
, я был бы очень благодарен, если кто -то сможет помочь мне с этой проблемой
Спасибо. < / p>
Это код функции:
private fun captureAndSaveImage(context: Context, folderPath: String) {
if (isCameraInitialized) return

val cameraProviderFuture = ProcessCameraProvider.getInstance(context)
cameraProviderFuture.addListener({
val cameraProvider = cameraProviderFuture.get()
val preview = Preview.Builder().build()
val imageCapture = ImageCapture.Builder().build()

val cameraSelector = CameraSelector.DEFAULT_BACK_CAMERA

try {
cameraProvider.unbindAll()
cameraProvider.bindToLifecycle(
context as androidx.lifecycle.LifecycleOwner,
cameraSelector,
preview,
imageCapture
)
isCameraInitialized = true

val photoFile = ContentValues().apply {
put(MediaStore.MediaColumns.DISPLAY_NAME, "Detected_Hand_Image.jpg")
put(MediaStore.MediaColumns.RELATIVE_PATH, folderPath)
put(MediaStore.MediaColumns.MIME_TYPE, "image/jpeg")
}

val resolver = context.contentResolver
val outputOptions = ImageCapture.OutputFileOptions.Builder(
resolver,
MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
photoFile
).build()

if (!cameraProvider.isBound(preview) || !cameraProvider.isBound(imageCapture)) {
Log.e("CameraX", "Camera is not ready or already closed.")
}

Handler(Looper.getMainLooper()).postDelayed({
imageCapture.takePicture(
outputOptions,
ContextCompat.getMainExecutor(context),
object : ImageCapture.OnImageSavedCallback {
override fun onImageSaved(outputFileResults: ImageCapture.OutputFileResults) {
Log.d("MediaStore", "Hand image saved successfully.")
}

override fun onError(exception: ImageCaptureException) {
Log.e("MediaStore", "Failed to save hand image: ${exception.message}")
}
}
)
}, 2000)

} catch (exc: Exception) {
Log.e("CameraX", "Failed to bind camera use cases", exc)
}
}, ContextCompat.getMainExecutor(context))
}


Подробнее здесь: https://stackoverflow.com/questions/793 ... dio-kotlin
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как сделать снимок с камеры устройства?
    Anonymous » » в форуме Android
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Как выбрать изображение из слайд-шоу в качестве обоев | Android-студия | Котлин
    Гость » » в форуме Android
    0 Ответы
    71 Просмотры
    Последнее сообщение Гость
  • Котлин не настроен: студия Android
    Anonymous » » в форуме Android
    0 Ответы
    57 Просмотры
    Последнее сообщение Anonymous
  • Почему эта переменная не обнаруживается? Android-студия Котлин
    Anonymous » » в форуме Android
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Котлин, Android-студия. «Неоднозначность разрешения перегрузки. Все эти функции совпадают» в Text(...)
    Anonymous » » в форуме Android
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»