2017-05-02 58 views
0

我必須使用Sony Camera API(版本:固件3.3,PlayMemories 4.31,API 2.40)更改Sony Alpha 7II的曝光補償。setExposureCompensation returns「Illegal Argument」

的三個命令:

  1. getAvailableExposureCompensation(結果:[0,15,-15,1]),
  2. getSupportedExposureCompensation(結果:[[15],[ - 15],[1] ]),
  3. getExposerCompensation(結果:[0])

正在返回正確的響應對象。

命令setExposureCompensation:

  • ( 「{\」 方法\ 「:\」 setExposureCompensation \」,\ 「PARAMS \」:[\ 「2 \」],\ 「ID \」:1 ,\ 「版本\」:\ 「1.0 \」} 「)

失敗,並響應:

  • 」{\「 ID \」:1,\ 「錯誤\」:[3 ,「Illegal Argument」]}「

關於語法和值,我沒有看到它失敗的原因。有任何想法嗎?

期待着任何提示, 伊沃

+0

您是否嘗試調用「getAvailableApiList」來檢查setExposureCompensation是否受支持? – mldeveloper

+0

是的,我做到了。我得到的迴應包括setExposureCompensation方法:_ {「result」:[[...,「setExposureCompensation」,「getExposureCompensation」,「getAvailableExposureCompensation」,「getSupportedExposureCompensation」,...]],「id」:1} _ –

回答

0

我只是stubbled uppon我的A6000相機同樣的問題,但找到了正確的方法來調用API。 你必須發送一個介於-15 &之間的整數15,所以不用引號。

所以

,\ 「PARAMS \」:\ 「2 \」],

變!

,\ 「PARAMS \」:[2],

-15,15從-5.0,5.0實際曝光補償範圍附帶的1/3的增量步長範圍光停止。 (-5.0 * 3steps = -15,5 * 3steps = 15)。