cameraProvider.bindToLifecycle передав туда больше чем может моя камера?
Вот Я вижу что в теории Я могу передать туда три кейса
Что такое Type и Max size в этой таблице?
У каждой камеры есть ограничения и поддерживаемые характеристики. Все это, как правило, можно получить через API и уже отталкиваясь от полученных данных выбирать нужную конфигурацию
А где почитать про то как ее выбрать и куда прописать?
Какой то полной статьи не знаю, везде по немногу
https://rodxander.medium.com/camera2-android-api-full-guide-bcf47a1524c3 Вот тут еще
Так. До меня дошло что это. Так, вопросик. А Я без танцев с camera2 api при работе с cameraX могу как-то настроить preview + imageAnalysis + VideoCapture ? или мне CameraX не позволит так глубоко настройку проводить?
Позволит, насколько API позволяет, конечно
https://proandroiddev.com/android-camerax-preview-analyze-capture-1b3f403a9395
Да, в таком сочитании у меня все работает. Оно перестает работать когда Я заменяю ImageCupture на videoCupture
Блин, не заметил С видео все сложнее, там может поддерживаться на крутых девайсах и при определенных характеристиках. Выше по ссылке что ты скидывал как раз такая таблица. Другого объяснения не видел. Только тщательно с ней разбираться
Я не могу понять таблицу. Она мне говорит Standard video recording plus maximum-resolution in-app processing. Но вот как выставить параметры для трех кейсов чтобы соответсвовать таблице, Я не понимаю
https://www.freecodecamp.org/news/android-camera2-api-take-photos-and-videos/ Настраиваешь по требуемым тебе характеристикам, которые проверяешь у конкретной камеры, поддерживается наборы параметров по сути прописываются в таблице в зависимости от выбранных целей preview + imageAnalysis + Image/audio/VideoCapture, но по строкам есть уточнения еще В зависимости от обрабатываемого формата картинки с цветопередачей, ты можешь выставить конкретный размер фрейма в таблице показывается какой максимальный размер фрейма ты можешь выставить при комбинации настроек каждого компонента
Кажется Я туплю потому что не понимаю как в нужный кейс поставить другой ImageFormat Я смог проставить размеры в preview и imageAnalysis. Но как впихать формат и как повляить на videoCapture не понимаю https://pastebin.com/e5pJSsEK
videoCapture = VideoCaptureConfig.Builder() .setTargetResolution(VIDEO_SIZE) .setMaxResolution(VIDEO_SIZE) .build()
val preferredQuality = Quality.HD val recorder = Recorder.Builder() .setQualitySelector( QualitySelector.from( preferredQuality, FallbackStrategy.higherQualityOrLowerThan(preferredQuality) ) ) .build() val videoCapture = VideoCapture.withOutput(recorder)
Оно утсанавливает значение, но проблему это не решает 🙁
А какая проблема осталась?
Все та же. E/CameraFragment3: Use case binding failed java.lang.IllegalArgumentException: No supported surface combination is found for camera device - Id : 0. May be attempting to bind too many use cases. Existing surfaces: [] New configs: [androidx.camera.core.impl.ImageAnalysisConfig@162e062, androidx.camera.core.impl.PreviewConfig@6f2d644, androidx.camera.video.impl.VideoCaptureConfig@f46232d] при этом значения все очень маленькие Preview: ResolutionInfo{resolution=640x480) videoCapture: ResolutionInfo{resolution=720x480) imageAnalyzer: ResolutionInfo{resolution=640x480)
ошибка явно говорит что параметры не сочетаются для id = 0 это ты что за камеру выбрал?
Да. Это понятно. И если верить вот этой статье, то поплясав с бубном можно подобрать нужные параметры. Но Я не понимаю как влиять на них. С размером более менее понятно, а вот как изменять форматы -- нет
Камера же имеет `characteristics.get(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL) = CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_FULL) `
Не надо с бубном ты можешь у CameraManager получить весь список id камер затем по каждой по id получить поддерживаемые характеристики, которые тебе требуются и выбираешь ту, которая поддерживает все необходимое
Что значит "Все необходимые"? По одной она все поддерживает. А как их объеденить?
а давай проверим, если выставить для видео размер 640*480
Вопрос тот же. А как? Если делать через Рекордер, то там предустановленные значения. А вот VideoCaptureConfig у меня вообще не имеет Билдера
а какая версия либы?
Странно, Builder был в первой версии
И в некоторых гайдах есть, но во всем свежем используется Recorder вместо VideoCaptureConfig
Пора спать) Больше пока нет идей
эх, 5 часов жизни вникуда. И правда стоит пойти спать
Обсуждают сегодня