2016-01-05 5 views
0

Я работаю над приложением, где у меня есть предварительный просмотр камеры, и я делаю снимки в темных настройках. Поэтому мне нужен способ ручного управления временем экспозиции камеры и настройками выдержки затвора, диафрагмы и изо.android.hardware.camera Предварительный просмотр: Как вручную установить время экспозиции, выдержку, диафрагму и iso

Я знаю, что это должно быть возможно, потому что приложение Long Exposure Camera 2 (by AAASDream) имеет способ вручную изменить время экспозиции и отлично работает. Я не говорю об экспоненциальном вознаграждении, которое я уже пробовал, но недостаточно.

Основе с this post, я попытался установить

Camera.Parameters params = camera1.getParameters(); 
params.set("mode", "m"); 
params.set("aperture", 80); 
params.set("shutter-speed", 9); 
params.set("iso", 1600); 

Но это не работает.

Есть ли скрытый API или параметр, который я могу использовать, или любую стороннюю библиотеку, которую я могу использовать для этого.

Вся помощь приветствуется, спасибо.

+0

Я также встретил ту же проблему. Кажется, что такие параметры вступают в силу, когда вы используете takePicture(), чтобы сделать снимок, но он не работает в режиме предварительного просмотра (onPreviewFrame()), если вы хотите получить непрерывные рамки предварительного просмотра. Мне интересно, будут ли эти параметры вступать в силу при записи видео. –

ответ

1

Я думаю, что нет возможности вручную установить вышеупомянутые значения в android.hardware.camera. Но похоже, что новая версия android.hardware.camera2 поддерживает эти функции.

0

Да, невозможно вручную установить один из двух указанных параметров непосредственно через API камеры 1. Ни один из характеристик не может быть запрошен с помощью стандартизованного метода, поскольку он не поддерживается.

Конечно, есть способ обойти, чтобы запросить или установить такие свойства, с помощью специальных методов, так как relime9 упоминалось в настоящее время:

// query all the settings you camera support (API 1) 
mCamera.getParameters().flatten(); 
// set parameters - e.g. aperture 
mCamera.getParameters().set("aperture", "80"); 

Дополнительно конкретное устройство должно поддерживать такую ​​установку, которые варьируются от устройства к устройство. На некоторых устройствах можно установить определенные значения, а с другими вы не можете и можете использовать только режим «auto».

По этой причине они разработали API 2 камеры, который более стандартизован и поддерживает такие функции.

+0

Это может быть очень полезно для API камеры 2: [Текущее состояние ручного управления камерой] (http://www.camerafv5.com/pages/manual-camera-controls-table.php) –