2011-09-08 10 views
5

Jestem pewien, że większość z was użyła telefonu z Androidem przed i zrobiła zdjęcie. Za każdym razem, gdy użytkownik zmienia położenie telefonu komórkowego i utrzymuje go w pozycji stabilnej, kamera automatycznie ustawia ostrość. Mam trudności z powtórzeniem tego w mojej aplikacji. Metoda autofocus() jest wywoływana tylko jeden raz podczas uruchamiania aplikacji. Szukałem rozwiązania w ciągu ostatnich 3 dni i podczas czytania dokumentacji google natknąłem się na wywołania metody czujnika (np. Kiedy użytkownik przechyla telefon komórkowy do przodu lub do tyłu). Mógłbym użyć tego API, by osiągnąć to, czego potrzebuję, ale brzmi to zbyt brudno i zbyt skomplikowanie. Jestem pewien, że jest inny sposób obejścia tego.Autofokus aparatu z systemem Android, gdy użytkownik trzyma aparat fotograficzny

Wszystkie przykłady w Internecie, które znalazłem, koncentrują się tylko wtedy, gdy użytkownik naciśnie ekran lub przycisk. Przeszedłem również przez kilka pytań na temat SO, aby mieć nadzieję, że znajdę to, czego szukam, ale nie udało mi się. Widziałem pytanie: this i że ciąg nie jest zgodny z moim telefonem. Z jakiegoś powodu jedynymi trybami ustawiania ostrości, które mogę użyć, są stałe i automatyczne.

Miałem nadzieję, że ktoś tutaj rzuci trochę światła na ten temat, ponieważ jestem zagubiony.

Dziękuję bardzo za poświęcony czas.

Odpowiedz

0

Tak, camera.autoFocus(callback) jest funkcją jednorazową. Będziesz musiał wywoływać go w pętli, aby ustawić automatyczne ustawianie ostrości. Najlepiej byłoby, gdyby motion detection via accelerometer or compass wykrył, kiedy kamera jest przenoszona.

Powiązane problemy