كيفية استخدام الكاميرا الأمامية المواجهة على 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

إذا كنت بحاجة إلى حجم معاينة أصغر ، فيمكنك ضبط/تقليص حجم SurfaceView بدلاً من ذلك.

نصائح أخرى

لا يوجد حاليًا واجهة برمجة تطبيقات قياسية للكاميرات الأمامية ؛ ستحتاج إلى الاعتماد على أي وثائق (إن وجدت) التي لدى الشركة المصنعة للأجهزة لاستخدام ملحقاتها للوصول إلى الكاميرا الأمامية. هذا بالطبع سيعمل فقط على تلك الأجهزة المحددة.

ملاحظة: غالبًا ما تكون كتابة السلاسل الخام مثل "معرف الكاميرا" علامة جيدة لقد تجولت في الغابة خارج SDK الرسمية. قون

أعتقد أن هذا مكان جيد مثل أي لإضافة بعض التفاصيل التي عملت عليها.

في حال كنت تستخدم الكاميرا المواجهة الأمامية في وضع الصورة ويصدر الملف الناتج إلى المربعات مع كتل خضراء تم إلقاؤها في محاولة للعرض والارتفاع (كل من المعاينة والمسجل) وتعيين المشفر إلى H263 ...

هذا حل المشكلة على Samsung Galaxy S في 2.3.3+...

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top