2017-07-06 9 views
0

apiを使用してa-7カメラを撮影することができました。しかし、私はそれらの画像を転送しようとしています。以下は Sony Ilce-7用カメラリモートAPI「コンテンツ転送」モードに変更できません

{"id":1,"error":[1,"Not Available Now"]} 

は、私が使用してシーケンスの出力です:カメラは常にして返ししかし

{"method":"setCameraFunction","params":["Contents Transfer"],"id":1,"version":"1.0"} 

:ドキュメントに従うことで、私は以下のJSONを使用したコンテンツ転送モードに変更するsetCameraFunctionと呼ばれます(各呼び出しの間に5秒休止)画像を撮影することは:

Request: {"method":"startRecMode","params":[],"id":1,"version":"1.0"} 
Response: {"result":[0],"id":1} 

Request: {"method":"getAvailableShootMode","params":[],"id":1,"version":"1.0"} 
Response: {"result":["still",["still"]],"id":1} 

Request: {"method":"actTakePicture","params":[],"id":1,"version":"1.0"} 
Response: {"result":[["http:\/\/192.168.122.1:8080\/postview\/pict20170707_003048_0.JPG"]],"id":1} 

Request: {"method":"stopRecMode","params":[],"id":1,"version":"1.0"} 
Response: {"result":[0],"id":1} 

Request: {"method":"getStorageInformation","params":[],"id":1,"version":"1.0"} 
Response: {"id":1,"error":[1,"Not Available Now"]} 

Request: {"method":"setCameraFunction","params":["Contents Transfer"],"id":1,"version":"1.0"} 
Response: {"id":1,"error":[1,"Not Available Now"]} 

時々getStorageInformationを用いて返し

{ 
    "result": [ 
    [ 
     { 
     "storageDescription": "Storage Media", 
     "numberOfRecordableImages": 3275, 
     "storageID": "Memory Card 1", 
     "recordTarget": true, 
     "recordableTime": -1 
     } 
    ] 
    ], 
    "id": 1 
} 

コンテンツモードに変更しようとすると、「今すぐ使用できません」という結果が表示されます。

actTakePicture関数で生成されたURLを使用してプレビュー画像にアクセスできましたが、これは低解像度画像であり、アプリケーションでは機能しません。

「コンテンツ転送」モードに入る前に「stopRecMode」関数を呼び出さないようにしましたが、違いはありませんでした。

内容に転送モード入力しようとする前に、「GETEVENT」機能の出力:

{ 
    "result": [ 
    { 
     "type": "availableApiList", 
     "names": [ 
     "getVersions", 
     "getMethodTypes", 
     "getApplicationInfo", 
     "getAvailableApiList", 
     "getEvent", 
     "startRecMode", 
     "stopRecMode" 
     ] 
    }, 
    { 
     "cameraStatus": "NotReady", 
     "type": "cameraStatus" 
    }, 
    null, 
    { 
     "type": "liveviewStatus", 
     "liveviewStatus": false 
    }, 
    null, 
    [], 
    [], 
    null, 
    null, 
    null, 
    [], 
    null, 
    { 
     "cameraFunctionCandidates": [ 
     "Contents Transfer", 
     "Remote Shooting" 
     ], 
     "type": "cameraFunction", 
     "currentCameraFunction": "Remote Shooting" 
    }, 
    null, 
    null, 
    null, 
    null, 
    null, 
    null, 
    { 
     "postviewImageSizeCandidates": [ 
     "2M" 
     ], 
     "type": "postviewImageSize", 
     "currentPostviewImageSize": "2M" 
    }, 
    null, 
    { 
     "shootModeCandidates": [ 
     "still" 
     ], 
     "type": "shootMode", 
     "currentShootMode": "still" 
    }, 
    null, 
    null, 
    null, 
    null, 
    null, 
    { 
     "fNumberCandidates": [], 
     "type": "fNumber", 
     "currentFNumber": "--" 
    }, 
    null, 
    null, 
    null, 
    null, 
    { 
     "type": "shutterSpeed", 
     "shutterSpeedCandidates": [], 
     "currentShutterSpeed": "1/60" 
    }, 
    { 
     "type": "whiteBalance", 
     "currentColorTemperature": -1, 
     "checkAvailability": true, 
     "currentWhiteBalanceMode": "Auto WB" 
    }, 
    null 
    ], 
    "id": 1 
} 

その他の情報:

は、最新のファームウェア(バージョン3.20)にカメラをアップグレードし、最新のスマート・リモートをインストールコントロールアプリ(バージョン4.30)。

私は完全にここにこだわっている、任意のアドバイスは素晴らしいだろう。

おかげ

答えて

0

は、私は問題を解決することができたし、それが他の誰かを助け場合、私はここに投稿しようと思いました。

「コンテンツ転送」モードを使用する代わりに、「setPostviewImageSize」を使用してプレビュー画像をオリジナルに設定する必要があります。これを変更すると、 "actTakePicture"によって返されたURLがちょうど撮影された画像になり、画像のサイズはこの場合6000x4000のフル解像度になります。ここで

はsetPostviewImageSize要求のためのJSONです:

{ 
    "method": "setPostviewImageSize", 
    "params": [ 
    "Original" 
    ], 
    "id": 1, 
    "version": "1.0" 
} 
関連する問題