كاميرا.startCapture

لبدء التقاط الفيديو أو الفاصل الزمني لالتقاط الصور بناءً على قيمة captureMode في الخيارات. تمّت إضافة هذا الأمر في المستوى 2 من واجهة برمجة التطبيقات.

المَعلمات

  • لا يحتوي هذا الأمر على معلَمة في نص الطلب. يتم تحديد ما إذا كان التسجيل الفاصل بين التقاط الصور أو الفيديو من خلال الخيار captureMode. بالنسبة إلى الالتقاط بفاصل زمني، يعتمد ما إذا كان الالتقاط ذي النهاية المفتوحة أم لا على ما إذا كان captureNumber يساوي 0 أو أكبر منه. يجب ضبط captureMode وcaptureInterval وcaptureNumber قبل الفاصل الزمني للالتقاط. يجب ضبط captureMode فقط على خيار "الفيديو" قبل التقاط الفيديو، والذي لا يمكن إيقافه إلا من خلال الأمر camera.stopCapture.

النتائج

  • الالتقاط بدون نهاية (عندما يكون CaptureMode == "video" أو CaptureNumber == 0)
    • ما مِن نتائج.
  • الالتقاط بفاصل زمني غير مفتوح:
    • fileUrls: قائمة بعناوين URL المطلقة التي تشير إلى ملفات الصور لالتقاطها بفاصل زمني. يُرجى العِلم أنّ هذا الأمر لا يعرض fileUrls مباشرةً لأنّ عملية الالتقاط تستغرق captureNumber لتكتمل. ويمكن الحصول على تقدم الأمر من خلال استطلاع رأي الكاميرا بشكل دوري. على سبيل المثال، الاستطلاع بعد مدة مقدَّرة (time = captureInterval * (captureNumber - 1)) باستخدام واجهة برمجة التطبيقات /osc/commands/status وfileUrls هو النتيجة التي يتم عرضها عند انتهاء الأمر. في حال عدم اكتمال الأمر بنجاح (على سبيل المثال، تم التقاط 3 صور فقط من إجمالي الصور قبل نفاد بطارية الكاميرا) أو في حال فصل الكاميرا عن هاتف العميل في المنتصف ولكن اكتمل الأمر بنجاح، من المفترض أن يتمكن العميل من الحصول على الصور باستخدام camera.listFiles في وقت لاحق عند إنشاء اتصال جديد بين العميل والكاميرا.

الأخطاء

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

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

إدخال الأوامر
none
مخرجات الأوامر
{
    "results": {
        "fileUrls":[
            "url1",
            "url2",
            "url3",
            ...
            "urln"
        ]
    }
}
مخرجات الأمر (خطأ)
{
    "error": {
        "code": "disabledCommand",
        "message": "Command is currently disabled."
    }
}