camera.startCapture

Memulai perekaman video atau pengambilan gambar interval bergantung pada nilai captureMode di Opsi. Perintah ini ditambahkan di API level 2.

Parameter

  • Perintah ini tidak memiliki parameter dalam isi permintaan. Baik itu pengambilan gambar interval atau pengambilan video ditentukan oleh opsi captureMode. Untuk pengambilan interval, pengambilan tersebut bersifat terbuka atau tidak bergantung pada apakah captureNumber sama dengan atau lebih besar dari 0. captureMode, captureInterval, dan captureNumber harus ditetapkan sebelum pengambilan interval. Hanya captureMode yang perlu disetel ke "video" sebelum perekaman video, yang hanya dapat dihentikan dengan perintah camera.stopCapture.

Hasil

  • Perekaman terbuka (saat captureMode == "video" atau captureNumber == 0)
    • Tidak ada hasil.
  • Perekaman interval non-terbuka:
    • fileUrls: Daftar URL absolut, yang mengarah ke file gambar untuk pengambilan interval. Perlu diperhatikan bahwa perintah ini tidak langsung menampilkan fileUrls karena pengambilan memerlukan waktu captureNumber untuk diselesaikan. Progres perintah dapat diperoleh dengan melakukan polling pada kamera secara berkala. Misalnya, polling setelah perkiraan durasi (time = captureInterval * (captureNumber - 1)) menggunakan /osc/commands/status API dan fileUrls adalah hasil yang ditampilkan saat perintah selesai. Jika perintah tidak berhasil diselesaikan (misalnya, hanya 3 dari gambar yang diambil sebelum kamera kehabisan baterai) atau kamera terputus dari ponsel klien di tengah, tetapi perintah berhasil diselesaikan, klien seharusnya dapat memperoleh gambar menggunakan camera.listFiles nanti ketika koneksi baru dibuat antara klien dan kamera.

Error

  • disabledCommand: Command saat ini dinonaktifkan; misalnya, kamera sedang merekam video atau dalam pengambilan gambar interval.
  • invalidParameterName: Nama parameter tidak dikenal; misalnya, sessionId tidak dikenali.

Perintah I/O

Input Perintah
none
Output Perintah
{
    "results": {
        "fileUrls":[
            "url1",
            "url2",
            "url3",
            ...
            "urln"
        ]
    }
}
Output Perintah (Error)
{
    "error": {
        "code": "disabledCommand",
        "message": "Command is currently disabled."
    }
}