Я работаю с необработанным изображением камеры, но вам нужно перезапустить предварительный просмотр после захвата изображения. Когда я вызываю startPreview() после takePicture, андроид зависает, потому что камера до сих пор используется. Я ждал, пока исходное изображение не будет записано на диск, но камера все еще используется, поэтому предварительный просмотр по-прежнему висит в системе.Любой способ определить, свободен ли камера?
camera.takePicture(null, null, null);
(test needed here){
camera.startPreview();
}
Вставка предварительного просмотра в rawcallback вешает андроид.
При вызове takePicture jpegCallback возникает после завершения камеры, поэтому безопасно запускать предварительный просмотр, но это также создает .jpg.
Вопрос следующий: takepicture, есть ли способ определить, когда камера находится в режиме ожидания? (кроме jpegCallback?).
Я нашел способы решения проблемы, такие как запуск предварительного просмотра по таймеру, но по-прежнему задаюсь вопросом, есть ли способ определить фактическое состояние камеры и способ проверить, когда она будет сохранена, чтобы перезапустить предварительный просмотр.
Знание вашей конкретной цели здесь было бы полезно с точки зрения фактической помощи в достижении вашей цели, а не только ответа на ваш заявленный вопрос (определяя, может ли быть известна «статус» камеры - она занята до обратного вызова JPEG). –
Приложение представляет собой приложение штрих-кода, основанное на точках, где размер точек ОЧЕНЬ маленький. Для моей цели наиболее эффективное изображение формат для работы с необработанным файлом прямо с чипа камеры.Другим соображением было полное разрешение .jpg и вызов BitmapFactory.decodeByteArray, чтобы получить растровое изображение, вызвали проблемы с памятью. Api показало бы, что jpegcallback является необязательным, так что, казалось бы, есть какой-то способ не нуждаться в этом. Затем снова api сказал th e rawimagecallback дал бы сырое изображение, так много для документации. –
О, я вижу ... так что вы хотите необработанный обратный вызов для полного разрешения из-за небольшого размера точек? Вы пытаетесь немедленно перезапустить предварительный просмотр, потому что вам нужен какой-то плавный захват изображений, который не нарушает работу пользователя или не приостанавливает просмотр камеры? –