Przetwarzanie zdjęć, które zostały wcześniej zarejestrowane, ale nie zostały jeszcze przetworzone.
To polecenie ma zastosowanie tylko wtedy, gdy obsługujesz delayProcessing
, ponieważ przetwarzanie trwa bardzo długo. Jeśli nie obsługujesz polecenia delayProcessing
, żądanie tego polecenia powinno zakończyć się niepowodzeniem i wystąpić o brak kodu błędu DisableCommand.
To polecenie zostało dodane w interfejsie API na poziomie 2.
Parametry
- previewFileUrls: lista adresów URL nieprzetworzonych obrazów.
Jeśli chcesz przetworzyć wszystkie nieprzetworzone obrazy w aparacie, użyj wartości ["all"],
a nie może być puste. Jeśli podczas przetwarzania dowolnego obrazu kamera nie będzie miała problemu z przetworzeniem obrazu, nie będzie odpowiadała z powodu błędu, powinna natomiast zignorować ten adres URL i kontynuować przesyłanie kolejnych. W skrajnym przypadku
previewToFinalFileUrls
może zostać zwrócony jako pusty obiekt JSONObject.
Wyniki
- previewToFinalFileUrls: obiekt JSONObject składający się z par <key, value=""> JSON, gdzie każdy klucz to bezwzględny adres URL obrazu podglądu, a każdy klucz odpowiada ostatecznemu przetworzonemu obrazowi, który może służyć do pobierania bezpośrednio z aparatu. Pamiętaj, że to polecenie jest podobne do poleceniacamera.takePicture i nie zwraca kodu
previewToFinalFileUrls
natychmiast (z wyjątkiem przypadków, w których opisano to w rogu tego akapitu), ponieważ przetwarzanie (w tym łączenie w aparacie) zwykle trwa trochę czasu (od kilku sekund do minut). Postęp wykonywania polecenia uzyskuje się przez okresowe sondowanie kamery za pomocą interfejsu API /osc/commands/status. WynikpreviewToFinalFileUrls
jest zwracany po zakończeniu polecenia. Jeśli połączenie z kamerą zostanie utracone przed zakończeniem tego polecenia, klient może skorzystać zlistFiles
, aby uzyskać adresy URL ostatecznych obrazów po ponownym połączeniu z kamerą, lub też wydać inne polecenie ProcessPicture, które powinno zwrócić wartośćpreviewToFinalFileUrls
od razu, jeśli obrazy zostały przetworzone przed ponownym połączeniem.</key,>
Błędy
- disableCommand: jeśli nie obsługujesz opóźnienia przetwarzania.
- ErrorParameterName: nie udało się rozpoznać nazwy parametru wejściowego.
- ErrorParameterValue: rozpoznawana jest nazwa parametru wejściowego, ale jego wartość jest nieprawidłowa, np. każdy adres URL w polu
previewFileUrls
jest nieprawidłowy.
Command I/O | |
---|---|
Polecenie | { "parameters": { "previewFileUrls": [ "previewFileUrl1", "previewFileUrl2", "previewFileUrl3", ... "previewFileUrln" ] } } |
Dane wyjściowe polecenia | { "results": { "previewToFinalFileUrls":{ "previewFileUrl1": "finalFileUrl1", "previewFileUrl2": "finalFileUrl2", "previewFileUrl3": "finalFileUrl3", ... "previewFileUrln": "finalFileUrln" } } } |
Dane wyjściowe polecenia (błąd) | { "error": { "code": "disabledCommand", "message": "Command is currently disabled." } } |