android– 三星s4变焦不支持平滑变焦isSmoothZoomSupported()== false

android– 三星s4变焦不支持平滑变焦isSmoothZoomSupported()== false,第1张

概述我试图在我的相机记录应用程序中的’s4zoom’设备上处理ZoomIn/ZoomOut.因为它只支持常规缩放,即parameters.isZoomSupported()==true,parameters.isSmoothZoomSupported()==false,我使用了parameters.setZoom(mZoomVal);mCamera.setParameters(参数);照常.问题是变焦是生涩

我试图在我的相机记录应用程序中的’s4 zoom’设备上处理ZoomIn / ZoomOut.因为它只支持常规缩放,即parameters.isZoomSupported()== true,parameters.isSmoothZoomSupported()== false,我使用了parameters.setZoom(mZoomVal); mCamera.setParameters(参数);照常.
问题是变焦是生涩,嘈杂而不平滑.
有没有人知道如何在’s4 zoom’中处理变焦速度,就像在三星相机应用程序中一样?

public boolean onKeyDown(int keyCode, KeyEvent event) {    Log.v("onKeyDown keyCode="+keyCode+" event="+event.toString());    boolean handled = false;    switch(keyCode){    case KeyEvent.KEYCODE_FOCUS:        setautoFocus();        handled = true;        break;    case KeyEvent.KEYCODE_CAMERA:        if(event.getRepeatCount() == 0){            if (isRec()) {                stopRec(1, 0);            } else {                startRec();            }        }        handled = true;        break;    case 256: //KeyEvent.KEYCODE_CAMERA_ZOOM_RING_MOVE:        handled = true;        break;    case 261: //KeyEvent.KEYCODE_CAMERA_ZOOM_RING_SPEED2        handled = true;        break;    case KeyEvent.KEYCODE_ZOOM_IN:        setZoomIn();        //autoFocus();        handled = true;        break;    case KeyEvent.KEYCODE_ZOOM_OUT:        setZoomOut();        //autoFocus();        handled = true;        break;    }    if(handled)        Log.v("onKeyDown HANDLED!");    else        return super.onKeyDown(keyCode, event);    return handled;}public int setZoomIn(){    if(mCamera == null){        return 0;    }    Parameters parameters = mCamera.getParameters();    List<Integer> zoom_List = parameters.getZoomratios();    if(mZoomVal >= mZoomMax)        return zoom_List.get(mZoomMax);    /*    if(isautoFocusing){        mCamera.cancelautoFocus();        isautoFocusing = false;    }*/    mZoomVaL++;    isFocused = false;    parameters.setZoom(mZoomVal);    mCamera.setParameters(parameters);    mZoomVal = parameters.getZoom();    return zoom_List.get(mZoomVal);}public int setZoomOut(){    if(mCamera == null){        return 0;    }    Parameters parameters = mCamera.getParameters();    List<Integer> zoom_List = parameters.getZoomratios();    if(mZoomVal <= 0)        return zoom_List.get(0);    /*    if(isautoFocusing){        mCamera.cancelautoFocus();        isautoFocusing = false;    }*/    mZoomVal--;    isFocused = false;    parameters.setZoom(mZoomVal);    mCamera.setParameters(parameters);    mZoomVal = parameters.getZoom();    return zoom_List.get(mZoomVal);}public voID setautoFocus(){    if(mCamera == null){        return;    }    if(isFocused)        return;    if(isautoFocusing){        mCamera.cancelautoFocus();        isautoFocusing = false;    }    isautoFocusing = true;    mCamera.autoFocus(new Camera.autoFocusCallback() {        @OverrIDe        public voID onautoFocus(boolean success, Camera camera) {            Log.v("onautoFocus success="+success);            isautoFocusing = false;            isFocused = success;        }    });}

解决方法:

我已经找到了三星S4 Zoom设备上快门控制快门镜头的解决方案.
在智能模式下设置设备:parameters.set(“mode”,“smart-auto”);

对于放大开始:parameters.set(“zoom-action”,“optical-tele-start”);

对于缩小开始:parameters.set(“zoom-action”,“optical-wIDe-start”);

对于缩放动作停止:parameters.set(“缩放动作”,“缩放停止”);

快门速度:parameters.set(“zoom-speed”,1); // 1,2,…

不要忘记在Camera实例中保存参数mCamera.setParameters(参数);

这在我的设备中工作正常,快门现在是沉默和平滑. 总结

以上是内存溢出为你收集整理的android – 三星s4变焦不支持平滑变焦isSmoothZoomSupported()== false全部内容,希望文章能够帮你解决android – 三星s4变焦不支持平滑变焦isSmoothZoomSupported()== false所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1095964.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存