camera.takePicture

تصویری معادل مستطیل می گیرد و مختصات lat/long را در EXIF ​​ذخیره می کند (اگر دوربین شما دارای GPS یا GPS خود باشد در تلفن های همراه متصل فعال باشد). در صورت نیاز، قبل از این فرمان، با camera.setOptions تماس بگیرید. این دستور در سطح 2 API اصلاح شد.

پارامترها

  • sessionId: شناسه جلسه منحصر به فرد که از دستور camera.startSession به دست می آید. این فیلد در سطح 2 API منسوخ شده است.

نتایج

  • API سطح 1
    • fileUri: URI تصویر گرفته شده. تولیدکنندگان تصمیم می گیرند که از URI های مطلق یا نسبی استفاده کنند. به عنوان مثال، " http://android.com/robots.txt " یک URI مطلق است در حالی که "robots.txt" یک URI نسبی است. مشتریان ممکن است این را به عنوان یک شناسه غیر شفاف تلقی کنند.
  • API سطح 2
    • fileUrl: URL مطلق تصویر گرفته شده، که می توان از آن برای دانلود مستقیم از سرور HTTP دوربین استفاده کرد. لطفاً توجه داشته باشید که این دستور بلافاصله fileUrl برنمی‌گرداند زیرا ضبط (از جمله دوخت در دوربین) معمولاً مدتی طول می‌کشد (از ثانیه تا دقیقه متغیر است). پیشرفت فرمان با نظرسنجی دوره‌ای از دوربین با استفاده از /osc/commands/status API بدست می‌آید و fileUrl نتیجه‌ای است که پس از پایان فرمان بازگردانده می‌شود. وقتی delayProcessing درست است، URL مطلق تصویر پیش‌نمایش است که می‌تواند به عنوان ورودی در processPicture برای پردازش تصویر استفاده شود، در غیر این صورت، URL مطلق تصویر پردازش شده نهایی است.

خطاها

  • missingParameter: sessionId وجود ندارد. این کد خطا در سطح 2 API منسوخ شده است.
  • invalidParameterName: نام پارامتر ناشناخته است، به عنوان مثال sessionId در سطح 2 API شناسایی نمی شود.
  • invalidParameterValue: نام پارامتر ورودی شناسایی می شود، اما مقدار آن نامعتبر است. برای مثال، sessionId وجود ندارد، دیگر فعال نیست، یا نوع داده آن نادرست است. این کد خطا در سطح 2 API منسوخ شده است.
  • disabledCommand: فرمان در حال حاضر غیرفعال است. به عنوان مثال، دوربین در حالت فیلمبرداری است. این کد خطا در سطح 2 API اضافه شده است.

دستور I/O

ورودی فرمان (سطح API 1)
{
    "parameters": {
        "sessionId": "12ABC3"
    }
}
خروجی فرمان (سطح API 1)
{
    "results": {
        "fileUri": "file URI"
    }
}
خروجی فرمان (خطا) (سطح API 1)
{
    "error": {
        "code": "invalidParameterValue",
        "message": "Parameter sessionId doesn't exist."
    }
}
ورودی فرمان (سطح API 2)
none
خروجی فرمان (سطح 2 API)
{
    "results": {
        "fileUrl": "Absolute file URL"
    }
}
خروجی فرمان (خطا) (سطح API 2)
{
    "error": {
        "code": "disabledCommand",
        "message": "Command is currently disabled."
    }
}