كاميرا.TakePicture

تلتقط صورة متساوية المستطيلات، مع حفظ إحداثيات خطوط الطول/العرض في EXIF (إذا كانت الكاميرا توفِّر نظام تحديد المواقع العالمي (GPS) أو نظام تحديد المواقع العالمي (GPS) مفعَّلاً على الهواتف الجوّالة المتصلة). يمكنك الاتصال بالرقم camera.setOptions قبل طلب الأمر هذا إذا لزم الأمر. تم تعديل هذا الأمر في المستوى 2 من واجهة برمجة التطبيقات.

المَعلمات

  • sessionId: المعرّف الفريد للجلسة الذي يتم الحصول عليه من الأمر camera.startSession . تم إيقاف هذا الحقل نهائيًا في المستوى 2 من واجهة برمجة التطبيقات.

النتائج

  • المستوى 1 من واجهة برمجة التطبيقات
    • fileUri: معرّف الموارد المنتظم للصورة التي تم التقاطها. تحدِّد الشركات المصنّعة ما إذا كان يجب استخدام معرفات الموارد المنتظمة (URI) المطلقة أو النسبية، على سبيل المثال، "http://android.com/robots.txt" هو معرّف موارد منتظم (URI) مطلق بينما "robots.txt" هو معرف موارد منتظم (URI) نسبي. قد يتعامل العملاء مع هذا كمعرف مبهم.
  • المستوى 2 من واجهة برمجة التطبيقات
    • fileUrl: عنوان URL كامل للصورة الملتقطة، والذي يمكن استخدامه للتنزيل مباشرةً من خادم HTTP للكاميرا. يُرجى ملاحظة أنّ هذا الأمر لا يعرض رمز الاستجابة fileUrl مباشرةً لأنّ الالتقاط (بما في ذلك التركيب داخل الكاميرا) يستغرق عادةً بعض الوقت (يتفاوت من ثوانٍ إلى دقائق). ويتم الحصول على مستوى تقدُّم الأمر من خلال استخلاص الكاميرا بشكل دوري باستخدام واجهة برمجة التطبيقات /osc/commands/status في حين تمثّل fileUrl النتيجة التي يتم عرضها عند انتهاء الأمر. عندما تكون القيمة delayProcessing true، يكون العنوان هو عنوان URL المطلق لصورة المعاينة، والتي يمكن استخدامها كإدخال في صورة العملية لمعالجة الصورة. في الحالات الأخرى، يكون هو عنوان URL المطلق للصورة النهائية التي تمت معالجتها.

الأخطاء

  • معلمة مفقودة: المعلمة sessionId مفقودة. تم إيقاف رمز الخطأ هذا في المستوى 2 من واجهة برمجة التطبيقات.
  • unusedParameterName: لم يتم التعرّف على اسم المَعلمة، على سبيل المثال، لم يتم التعرّف على sessionId في المستوى 2 من واجهة برمجة التطبيقات.
  • unusedParameterValue: يتم التعرّف على اسم معلَمة الإدخال، ولكن قيمته غير صالحة. على سبيل المثال، قيمة sessionId غير متوفرة أو لم تعُد نشطة أو نوع بياناتها غير صحيح. تم إيقاف رمز الخطأ هذا في المستوى 2 من واجهة برمجة التطبيقات.
  • disableCommand: الأمر غير مفعّل حاليًا. على سبيل المثال، تكون الكاميرا في وضع تصوير الفيديو. تمّت إضافة رمز الخطأ هذا في المستوى 2 من واجهة برمجة التطبيقات.

Command I/O (إدخال وإخراج)

إدخال الأوامر (المستوى 1 من واجهة برمجة التطبيقات)
{
    "parameters": {
        "sessionId": "12ABC3"
    }
}
مخرجات الأوامر (المستوى 1 من واجهة برمجة التطبيقات)
{
    "results": {
        "fileUri": "file URI"
    }
}
مخرجات الأمر (الخطأ) (مستوى واجهة برمجة التطبيقات 1)
{
    "error": {
        "code": "invalidParameterValue",
        "message": "Parameter sessionId doesn't exist."
    }
}
إدخال الأوامر (المستوى 2 من واجهة برمجة التطبيقات)
none
مخرجات الأوامر (المستوى 2 لواجهة برمجة التطبيقات)
{
    "results": {
        "fileUrl": "Absolute file URL"
    }
}
مخرجات الأمر (الخطأ) (مستوى واجهة برمجة التطبيقات 2)
{
    "error": {
        "code": "disabledCommand",
        "message": "Command is currently disabled."
    }
}