Как использовать переднюю переднюю камеру на Samsung Galaxy S

StackOverflow https://stackoverflow.com/questions/4241292

Вопрос

Я попробовал несколько ответов, который я нашел через Интернет, например:

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

или

mMediaRecorder.setVideoSource(2);

Но это не работает. Я также устанавливаю разрешения на файл манифеста:

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

Я упущен на что-то? Я искал Stackoverflow, и я знаю, что это спросило раньше, но, по-видимому, не будет подтвержденным решением на этом, любая помощь будет оценена.

Примечание: я использую Galaxy S на платформе 2.1

Это было полезно?

Решение

В любом случае после нескольких испытаний и ошибок я понял, как это сделать:

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);

Или, если вам нужно использовать его с помощью 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

Если вам нужно иметь меньшего размера предварительного просмотра, вы можете установить / масштабировать размер вашего размера поверхности.

Другие советы

В данный момент не стандартная API для камер переднего лица; Вам нужно будет полагаться на любой (если какая-либо) документация, который производитель аппаратного обеспечения имеет использование их расширений для доступа к передней лицевой камере. Это будет, конечно, работать только на этих конкретных устройствах.

Примечание. Написание необработанных струн, таких как «Camera-ID», часто является хорошим знаком, который вы бродили в лесу за пределами официального SDK. :)

Я думаю, что это так же хорошее место, как любое, чтобы добавить некоторые детали, которые я разработал.

В случае, если вы используете фронтальную камеру в портретном режиме, и полученный файл выходит на квадраты с помощью зеленых блоков, выбрасываемых в попытке отсоединить ширину и высоту (как предварительный просмотр, так и рекордер), и устанавливая эндотер к H263 ...

Это решило проблему на моем Samsung Galaxy S на 2.3.3 + ...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top