2011-02-10 11 views
7

Przede wszystkim chciałbym odnieść się do tego Issue w grupach google.Zxing - Zmiana widoku kamery -90 stopni

Mój problem polega na tym, że aplikacja natywna w krajobrazie powinna działać w trybie portretu. Sposób przeniesienia aplikacji do trybu portretowego nie stanowi problemu, ale kiedy wyświetlasz aplikację w trybie portretu, pojawia się mój problem.

Gdy skaner kodów kreskowych zaczyna działać, jego widok z kamery to (domyślna wartość domyślna) pod kątem +90 stopni. Podczas przeglądania aplikacji w trybie portretowym Skaner Kodów Kreskowych (oczywiście) nadal znajduje się pod kątem +90 stopni.

Na wskazanej stronie Problemu wyświetlany jest hack, aby ominąć problem, ale wydaje się, że nie działa on na większości urządzeń. Nie działa to również na moich docelowych urządzeniach.

Chciałbym usłyszeć, jeśli niektórzy z was mają pracę dookoła lub znaleźli miejsce w źródle, gdzie można "cofnąć" obracanie o 90 stopni?

Użyteczna odpowiedź będzie najwyższą oceną: D Niestety, nie mogę zrobić postępu w projekcie, zanim zostanie to rozwiązane. Jest on zażądał, aby uruchomić w trybie pionowym;)

... Z góry dzięki :)

Odpowiedz

4

I wprowadziły to w prywatnym kompilacji. Jest to skomplikowane i nie mogę udostępnić szczegółów. Główne etapy to:

  • połączeń Camera.setDisplayOrientation() do COUNTERACT obrót; zobacz Android javadoc, aby porozmawiać na ten temat:
  • Upewnij się, że Camera.Parameters.setPreviewSize() jest poprawnie wywoływana; rozmiary podglądu są podawane w orientacji poziomej, ale należy je ustawić w orientacji pionowej
  • (Zgadnij co - domyślna orientacja telefonów jest uważana za portret, ale tablety są uznawane za krajobrazowe. Upewnij się, że uwzględniłeś to również.)
  • Wreszcie dane podglądu są zawsze w trybie poziomym. Musisz go obrócić samemu, aby przeczytać go prawą stroną w górę lub w inny sposób to uwzględnić.
+0

Ciekawe informacje, Sean, i chciałbym udostępnić jeszcze więcej szczegółów :) Czy mógłbyś bardziej skomentować punkty 2 i 3, domyślne i rzeczywiste, między telefonami a tabletami? –

+1

Po prostu przeczytaj Camera.CameraInfo o aparacie, który otworzyłeś. Jest to dostępne tylko w systemie Android 2.3+. Pomoże Ci zrozumieć, w jakim kierunku "podchodzi" do kamery. A potem odwróć, jeśli korzystasz z przedniego aparatu! to trochę kłopotliwe, aby wszystkie sprawy były prawidłowe. –

+0

FWIW można zobaczyć, jak to wygląda w akcji w Barcode Scanner + (https://market.android.com/details?id=com.srowen.bs.android). Jest to jednak aplikacja do zapłaty. –

Powiązane problemy