مشکل با کارکردن با دوربین جلو در مثال ImageCapture
در مبحث ImageCapture کار با دوربین گوشی آموزش داده شد و برای استفاده از دوربین جلوی گوشی نیاز به API 9 به بالا هست
من با تغییر تابع openCamera گفته شده در آموزش تصویری و استفاده از تابع takePicture در اندروید 4.0.3 تونستم با استفاده از گوشی S3 از دوربین جلو عکس بگیرم
private void openCamera() {
camera = Camera.open(CameraInfo.CAMERA_FACING_FRONT); // changed this line
Camera.Parameters params = camera.getParameters();
List<Size> sizes = params.getSupportedPictureSizes();
Size mSize = sizes.get(0);
params.setPictureSize(mSize.width, mSize.height);
camera.setParameters(params);
}
ولی دوتا مشکل بزرگ هست
اول اینکه در حالت ایستاده گوشی ، عکس با 90 درجه چرخش ساعتگرد گرفته میشه ولی در حالت افقی گوشی، برنامه درست کار میکنه
دومین مورد ، با اینکه این برنامه بدون خطای fatal در گوشی S3 اجرا میشه ولی در تبلت MemoPadHD خطای fatal میده و با forcedclose کلا از برنامه بیرون میاد
ورژن تبلت 4.2.2 هست و قاعدتا نباید مشکلی باشه ولی نمیتونه دوربین جلو رو باز کنه
اینم نتایج Logcat
07-07 02:40:31.971: E/AndroidRuntime(24196): FATAL EXCEPTION: main 07-07 02:40:31.971: E/AndroidRuntime(24196): java.lang.RuntimeException: takePicture failed 07-07 02:40:31.971: E/AndroidRuntime(24196): at android.hardware.Camera.native_takePicture(Native Method) 07-07 02:40:31.971: E/AndroidRuntime(24196): at android.hardware.Camera.takePicture(Camera.java:1278) 07-07 02:40:31.971: E/AndroidRuntime(24196): at android.hardware.Camera.takePicture(Camera.java:1223) 07-07 02:40:31.971: E/AndroidRuntime(24196): at com.uncocoder.course.app.image_capture.ActivityStartup.takePicture(ActivityStartup.java:119) 07-07 02:40:31.971: E/AndroidRuntime(24196): at com.uncocoder.course.app.image_capture.ActivityStartup.access$0(ActivityStartup.java:117) 07-07 02:40:31.971: E/AndroidRuntime(24196): at com.uncocoder.course.app.image_capture.ActivityStartup$1.onClick(ActivityStartup.java:66) 07-07 02:40:31.971: E/AndroidRuntime(24196): at android.view.View.performClick(View.java:4243) 07-07 02:40:31.971: E/AndroidRuntime(24196): at android.view.View$PerformClick.run(View.java:17520) 07-07 02:40:31.971: E/AndroidRuntime(24196): at android.os.Handler.handleCallback(Handler.java:725) 07-07 02:40:31.971: E/AndroidRuntime(24196): at android.os.Handler.dispatchMessage(Handler.java:92) 07-07 02:40:31.971: E/AndroidRuntime(24196): at android.os.Looper.loop(Looper.java:153) 07-07 02:40:31.971: E/AndroidRuntime(24196): at android.app.ActivityThread.main(ActivityThread.java:5299) 07-07 02:40:31.971: E/AndroidRuntime(24196): at java.lang.reflect.Method.invokeNative(Native Method) 07-07 02:40:31.971: E/AndroidRuntime(24196): at java.lang.reflect.Method.invoke(Method.java:511) 07-07 02:40:31.971: E/AndroidRuntime(24196): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833) 07-07 02:40:31.971: E/AndroidRuntime(24196): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) 07-07 02:40:31.971: E/AndroidRuntime(24196): at dalvik.system.NativeStart.main(Native Method)
کلافم کرده یه عکس گرفتن از دوربین جلو بدون مشکل ، خیلی گشتم ولی چیزی پیدا نکردم ، راه حل مطمنی نداره یه عکس گرفتن از دوربین جلوی دتسگاههای اندرویدی ؟
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .