我有两台现代索尼相机:
通过API 2.4文档阅读,这两款相机都应支持"传输图像"。
然而,在标有"将相机功能更改为传输图像"的部分中,建议的顺序是:
当我在任一摄像机上查询可用的API方法时,都没有列出这些功能。
据我所知,这两款相机都是最新的。
到目前为止,我能找到的唯一方法是将相机放入"发送到智能手机"模式,它启动一个UPnP服务器,但这只提供JPEG,所以对我来说并不是很有用。
那么如何在现代相机上传输图像?是否需要一些神奇的咒语才能启用似乎存在的API?
答案 0 :(得分:1)
也许我可以帮助你: 你必须注意某些服务器(索尼设备)需要一个"开始录制模式"在其他api电话之前,即使你不是"录制"。
"开始录制模式"你会看到可用的api列表会改变(轮询或回调)。
我看一下去年我为RX100V写的代码
这是我的初始化序列(就在wifi连接之后......):
1)GetVersion
2)StartRecMode
3)(getAvailableLiveviewSize)如果你需要实时视图...
4)(setLiveviewFrameInfo)如果你需要实时视图...... ...
"遥控拍摄"是默认值。
对于Contents Transfert,您可以: setCameraFunction(" Contents Transfer",.....
或
回到远程拍摄: setCameraFunction("遥控射击",....
请注意,StartRecMode和setCameraFunction更改需要一些时间,您需要等待轮询或回调。
====
我做了一个新的测试。 一步一步:
1)
Wifi连接
液晶屏显示"连接......"消息
GetEvent在" availableApiList":中返回10个元素 " getVersions" " getMethodTypes" " getApplicationInfo" " getAvailableApiList" " getEvent" " getSupportedCameraFunction" " startRecMode" " stopRecMode" " getCameraFunction" " getAvailableCameraFunction"
2) 我这样做:" GetVersion"和" StartRecMode" api叫 Lcd屏幕现在显示当前视图
GetEvent在availableApiList中返回68个元素:
" getVersions"
" getMethodTypes"
" getApplicationInfo"
" getAvailableApiList"
" getEvent"
" getSupportedCameraFunction"
" actTakePicture"
" stopRecMode"
" startLiveview"
" stopLiveview"
" startLiveviewWithSize"
" setCameraFunction"
" getCameraFunction"
" getAvailableCameraFunction"
...
...
" getLiveviewFrameInfo"
3)我这样做:setCameraFunction(" Contents Transfer",.....)api call
Lcd现在是黑色的,带有关于转移的消息......
GetEvent返回availableApiList中的10个元素(与1中的元素不同):
" getVersions"
" getMethodTypes"
" getApplicationInfo"
" getAvailableApiList"
" getEvent"
" getSupportedCameraFunction"
" setCameraFunction"
" getCameraFunction"
" getAvailableCameraFunction"
" getStorageInformation"