camera.startCapture

Inicia a captura de vídeo ou a captura de imagem em intervalo, dependendo do valor de captureMode em Opções. Esse comando foi adicionado no nível 2 da API.

Parâmetros

  • Esse comando não tem parâmetro no corpo da solicitação. A opção captureMode determina se a captura de imagem em intervalo ou de vídeo é determinada. Para a captura de intervalo, se ela é aberta ou não, depende de captureNumber ser igual ou maior que 0. captureMode, captureInterval e captureNumber precisam ser definidos antes da captura de intervalo. Somente captureMode precisa ser definido como "video" antes da captura de vídeo, que só pode ser interrompida pelo comando camera.stopCapture.

Resultados

  • Captura aberta (quando captureMode == "video" ou captureNumber == 0)
    • Nenhum resultado.
  • Captura de intervalo não aberta:
    • fileUrls:uma lista de URLs absolutos, apontando para arquivos de imagem para captura de intervalo. Esse comando não retorna fileUrls imediatamente, já que a captura leva captureNumber para ser concluída. É possível conseguir o progresso do comando pesquisando a câmera periodicamente. Por exemplo, uma pesquisa após uma duração estimada (time = captureInterval * (captureNumber - 1)) usando a API /osc/commands/status e fileUrls é o resultado retornado quando o comando é concluído. Se o comando não for concluído com sucesso (por exemplo, apenas três das imagens foram tiradas antes da câmera ficar sem bateria) ou se a câmera for desconectada do smartphone cliente no meio, mas o comando for concluído com êxito, o cliente poderá receber as imagens usando o camera.listFiles mais tarde, quando uma nova conexão for estabelecida entre o cliente e a câmera.

Erros

  • disableCommand:no momento, o comando está desativado. Por exemplo, a câmera está no meio de uma captura de vídeo ou de um intervalo.
  • invalidParameterName:o nome do parâmetro não foi reconhecido, por exemplo, sessionId não foi reconhecido.

E/S do comando

Entrada de comando
none
Resposta ao comando
{
    "results": {
        "fileUrls":[
            "url1",
            "url2",
            "url3",
            ...
            "urln"
        ]
    }
}
Resposta ao comando (erro)
{
    "error": {
        "code": "disabledCommand",
        "message": "Command is currently disabled."
    }
}