Я хочу получить сигнал в начале экспозиции.
Я нашел в doc обратный вызов:
onCaptureStarted
Этот метод вызывается, когда устройство камеры начинает захватывать выходное изображение для запроса, в начале экспонирования изображения или когда устройство камеры начинает обработку входного изображения для запроса повторной обработки.
Для обычного запроса захвата этот обратный вызов вызывается сразу после начала захвата кадра, поэтому это наиболее подходящее время для воспроизведения звука затвора или запуска индикаторов захвата пользовательского интерфейса.
Я использовал его и получил следующие результаты:
- ~ 0,2 мс экспозиция (ACAMERA_SENSOR_EXPOSURE_TIME: 170980)
A) Разница между временной меткой изображения и текущей временной меткой onCaptureStarted составляет: 37,488015 мс.
Б) Разница между onCaptureStarted для CameraImageReader :: ImageCallback составляет: 9.630366
- ~ 5 мс экспозиция (ACAMERA_SENSOR_EXPOSURE_TIME: 4958439)
A) Разница между временной меткой изображения и текущей временной меткой onCaptureStarted составляет: 42,577876 мс.
Б) Разница между onCaptureStarted для CameraImageReader :: ImageCallback составляет: 9.839168
- ~ 20 мс экспозиция (ACAMERA_SENSOR_EXPOSURE_TIME: 19961992)
A) Разница между временной меткой изображения и текущей временной меткой onCaptureStarted составляет: 58.494590 мс.
Б) Разница между onCaptureStarted для CameraImageReader :: ImageCallback составляет: 9.060730
* * ПРИМЕЧАНИЯ тысячи сорок-девять
1. Я тестировал с Pixel2 (ручная экспозиция + длительность кадра 33 мс)
2. Я также проверил это с TEMPLATE_MANUAL и получил те же результаты.
3. Я также тестировал с S9 + и получал те же результаты.
4. Цифры не точные.
Кажется, я получаю ответный звонок после того, как экспозиция закончена. как второй вариант в документе:
или когда устройство камеры начало обрабатывать входное изображение для запроса на повторную обработку.
Но я хочу получить его как первый вариант:
в начале экспонирования изображения
1) Можно ли это контролировать?
2) Что такое «обычный запрос захвата»?
[ПРИМЕЧАНИЕ: я использовал 'ACameraCaptureSession_setRepeatingRequest']