camera.takePicture

Captura uma imagem equirretangular, salvando coordenadas de latitude/longitude em EXIF (se a câmera tiver um GPS próprio ou se o GPS estiver ativado nos smartphones conectados). Chame camera.setOptions antes dessa chamada de comando, se necessário. Esse comando foi modificado no nível 2 da API.

Parâmetros

  • sessionId::identificador de sessão exclusivo recebido do comando camera.startSession . Esse campo foi descontinuado na API de nível 2.

Resultados

  • API de nível 1
    • fileUri:URI da imagem capturada. Os fabricantes decidem se querem usar URIs absolutos ou relativos. Por exemplo, "http://android.com/robots.txt" é um URI absoluto, enquanto "robots.txt" é um URI relativo. Os clientes podem tratar isso como um identificador opaco.
  • API de nível 2
    • fileUrl:URL absoluto da imagem capturada, que pode ser usado para fazer o download diretamente do servidor HTTP da câmera. Observe que esse comando não retorna fileUrl imediatamente, já que a captura (incluindo o agrupamento na câmera) geralmente leva um tempo (varia de segundos a minutos) para ser concluída. O andamento do comando é obtido pesquisando a câmera periodicamente usando a API /osc/commands/status, e fileUrl é o resultado retornado quando o comando é concluído. Quando delayProcessing for verdadeiro, ele será o URL absoluto da imagem de visualização, que poderá ser usado como entrada em processPicture para processar a imagem. Caso contrário, será o URL absoluto da imagem processada final.

Erros

  • missingParameter: sessionId está ausente. Esse código de erro foi descontinuado na API de nível 2.
  • invalidParameterName:o nome do parâmetro não é reconhecido, por exemplo, sessionId não é reconhecido na API de nível 2.
  • invalidParameterValue:o nome do parâmetro de entrada é reconhecido, mas o valor dele é inválido. Por exemplo, o sessionId não existe, não está mais ativo ou o tipo de dado está incorreto. Esse código de erro foi descontinuado na API de nível 2.
  • disableCommand:o comando está desativado no momento. Por exemplo, a câmera está no modo de gravação de vídeo. Esse código de erro foi adicionado no nível 2 da API.

E/S do comando

Entrada de comando (API de nível 1)
{
    "parameters": {
        "sessionId": "12ABC3"
    }
}
Resposta ao comando (nível 1 da API)
{
    "results": {
        "fileUri": "file URI"
    }
}
Resposta ao comando (erro) (nível 1 da API)
{
    "error": {
        "code": "invalidParameterValue",
        "message": "Parameter sessionId doesn't exist."
    }
}
Entrada de comando (API de nível 2)
none
Resposta ao comando (nível 2 da API)
{
    "results": {
        "fileUrl": "Absolute file URL"
    }
}
Resposta ao comando (erro) (nível 2 da API)
{
    "error": {
        "code": "disabledCommand",
        "message": "Command is currently disabled."
    }
}