سؤال

في طلبي ، يجب أن أقوم بتنفيذ نشاط الكاميرا الأصلي حيث يتعين علي تشغيل الكاميرا والتقاط الصورة.

بالتفصيل ، يضم طلبي المحتوي ، TextView واحد (في الأعلى) لعرض اسم النشاط وزر واحد (في الأسفل) وفي المنطقة الوسطى من الشاشة ، يجب عرض معاينة الكاميرا .. عند النقر فوق هذا الزر ، يجب النقر فوق Snaps وعرضه في ImageView لنشاط آخر.

أعلم أن النهج التالي يستخدم:

Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE );
intent.putExtra( MediaStore.EXTRA_OUTPUT, outputFileUri );
startActivityForResult( intent, 0 );

ولكن هذا النهج إذا استخدمت ثم لم يتم عرض عرض TextView و Button.

(الرجاء ملاحظة: أنا أستخدم Android SDK 1.5 مع HTC Hero)

الرجاء مساعدتي من خلال اقتراح أي مقال أو موقع أو PDF.

شكرا ، باريش

هل كانت مفيدة؟

المحلول

إذا كنت تحاول استخدام الكاميرا الأصلية ، فبمجرد أن يتم تسمية الكاميرا الأصلية ، ستتحكم في عرضك. ومع ذلك ، إذا كنت ترغب في تنفيذ الكاميرا الخاصة بك ، فسيكون هذا التصميم ممكنًا. يمكن العثور على بعض الأمثلة الجيدة هنا:

حظا طيبا وفقك الله!

نصائح أخرى

جميع التعليمات موجودة في Javadoc of Android.hardware.camera في http://developer.android.com/reference/android/hardware/camera.html:

  1. الحصول على مثيل من الكاميرا من Open ().
  2. الحصول على إعدادات (افتراضية) مع getParameters ().
  3. إذا لزم الأمر ، قم بتعديل الكاميرا التي تم إرجاعها. parameters واتصل setParameters (camera.parameters).
  4. إذا رغبت في ذلك ، اتصل بـ setDisplayorientation (int).
  5. هام: تمرير حامل سطح تهيئته بالكامل إلى setPreviewDisplay (حامل السطح). بدون سطح ، لن تتمكن الكاميرا من بدء المعاينة.
  6. هام: استدعاء startPreview () لبدء تحديث سطح المعاينة. يجب أن تبدأ المعاينة قبل أن تتمكن من التقاط صورة.
  7. عندما تريد ، اتصل بـ Takepicture (camera.shuttercallback ، camera.pictureCallback ، camera.pictureCallback ، camera.pictureCallback) لالتقاط صورة. انتظر حتى توفر عمليات الاسترجاعات بيانات الصورة الفعلية.
  8. بعد التقاط صورة ، ستتوقف عرض المعاينة. لالتقاط المزيد من الصور ، اتصل بـ StartPreview () مرة أخرى أولاً.
  9. استدعاء StopPreview () للتوقف عن تحديث سطح المعاينة.
  10. هام: إصدار الاتصال () لإطلاق الكاميرا لاستخدامها من قبل التطبيقات الأخرى. يجب أن تصدر التطبيقات الكاميرا مباشرة في OnPause () (وإعادة فتحها () في onresume ()).

    يتم تنفيذ حامل السطح بشكل مستمر باستخدام عرض السطح

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