2010-11-22 14 views
8

Próbowałem kilka odpowiedzi Mam znaleźć w internecie, takich jak:Jak korzystać z przodu stoi aparat na Samsung Galaxy S

Camera.Parameters parameters = mCamera.getParameters(); 
parameters.set("camera-id", 2); 
mCamera.setParameters(parameters); 

lub

mMediaRecorder.setVideoSource(2); 

ale nie praca. Ustawiłem również uprawnienia do pliku manifestu:

<uses-permission android:name="android.permission.CAMERA" /> 
<uses-feature android:name="android.hardware.camera" /> 

Czy brakuje mi czegoś? Przeszukałem StackOverflow i wiem, że było to wcześniej zadawane, ale wydaje się, że nie ma na to żadnego potwierdzonego rozwiązania, każda pomoc byłaby doceniana.

Uwaga: Używam Galaxy S na platformie 2,1

Odpowiedz

12

W każdym razie po kilku prób i błędów, I zorientowaliśmy się, jak to zrobić:

Camera.Parameters parameters = mCamera.getParameters(); 
parameters.set("camera-id", 2); 
parameters.setPreviewSize(640, 480); // or (800,480) this is supported front camera preview size @ Samsung Galaxy S 
mCamera.setParameters(parameters); 

Albo, jeśli chcesz go używać z MediaRecorder:

MediaRecorder mMediaRecorder = new MediaRecorder(); 
Camera mCamera = Camere.open(); 
Camera.Parameters parameters = mCamera.getParameters(); 
parameters.set("camera-id", 2); 
parameters.setPreviewSize(640, 480); // or (800,480) 
mCamera.setParameters(parameters); 
mCamera.unlock(); // unlock, to give other process to access it otherwise it can't be used later 
mMediaRecorder.setCamera(mCamera); 
// continue with mMediaRecorder standard routines here 

Jeśli Potrzebny jest mniejszy rozmiar podglądu, możesz zamiast tego ustawić/zmniejszyć rozmiar swojego SurfaceView.

2

Obecnie nie jest standardowym API dla kamer przodem; będziesz musiał polegać na wszelkiej (jeśli w ogóle) dokumentacji, którą producent sprzętu ma do używania swoich rozszerzeń, aby uzyskać dostęp do kamery z przodu. Będzie to oczywiście działać tylko na tych konkretnych urządzeniach.

Uwaga zapisywanie nieprzetworzonych ciągów znaków, takich jak "id kamery", jest często dobrym znakiem, że wałęsałeś się w lesie poza oficjalnym pakietem SDK. :)

+4

Tak, już to wiem :). Parametr "camera-id" będzie działać tylko w Samsung Galaxy S, ponieważ nie jest częścią oficjalnego SDK. Ale niestety nie znalazłem żadnej dodatkowej pomocnej dokumentacji za pomocą przedniego aparatu w tym modelu. –

+0

@MuhammadAbdullah następnie udostępnij tutaj ... –

0

Myślę, że to równie dobre miejsce, jak każde, aby dodać trochę szczegółów, które wypracowałem.

Jeśli korzystasz z kamery skierowanej przodem w trybie portretu, a wynikowy plik zostanie wyświetlony podzielony na kwadraty z zielonymi blokami wyrzuconymi przy próbie odwrócenia szerokości i wysokości (podgląd i rejestrator) i ustawieniu kodera na H263 ...

To rozwiązało problem na moim Samsung Galaxy S na 2.3.3 + ...

Powiązane problemy