Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android Camera是否支持變焦的判斷方法總結

Android Camera是否支持變焦的判斷方法總結

編輯:關於Android編程

最近老大交給了一個任務,說是要在本地視頻端能夠調節攝像頭焦距。

碰到了一些問題:

1.手機支不支持攝像頭變焦

2.系統自帶攝像軟件可以變焦,但是自己編寫的程序不支持變焦,

這個問題網上也有很多童鞋碰到了:
復制代碼 代碼如下:
public void setZoomIn(){
    try{
        params = camera.getParameters();
        zoomValue +=5;
        params.setZoom(zoomValue);
        camera.setParameters(params);
        Log.d(TAG, "Is support Zoom " + params.isZoomSupported());
    }catch (Exception e) {
        e.printStackTrace();
    }
}

這段代碼在Lg上可以運行,但是在htc sensation上crash了。
這哥們和我遇到了同樣的問題,我的手機也是htc sensation哦。

請問 android 相機 怎麼變焦啊:

我查了api2.2
說是調用這個函數就好了
復制代碼 代碼如下:
mCamera.startSmoothZoom(zoom);

但是,調用了沒有任何反應!
然後,嘗試了:
復制代碼 代碼如下:
mCamera.getParameters().setZoom(zoom);

也沒有任何反應
說是zoom改變會調用ZoomChangeListener,於是我加了監聽,但是監聽一直都未被調用過
復制代碼 代碼如下:
mCamera.setZoomChangeListener();

其實問題比較簡單:

第一:調用mCamera.getParameters().isSmoothZoomSupported()返回為false,則不支持變焦,設置zoom出錯

第二:調用mCamera.getParameters().isZoomSupported()返回為true,mCamera.getParameters().isSmoothZoomSupported()返回為false,可能手機自帶的攝像應用支持zoom,變焦,只是我們自己的應用就不行了。這個問題,我現在也沒想到辦法解決。

所以在編寫變焦攝像或者視頻的時候就使用isSmoothZoomSupported判斷,這樣就不會再其他不支持變焦的手機上crash了。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved