Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
摄像头中的变焦控制在Android中不起作用_Android_Camera_Zooming - Fatal编程技术网

摄像头中的变焦控制在Android中不起作用

摄像头中的变焦控制在Android中不起作用,android,camera,zooming,Android,Camera,Zooming,我正在使用我的应用程序中的Surface view开发定制相机,还使用屏幕截图录制视频 我希望在我的相机代码中实现变焦控制,但没有成功 缩放时获取此日志: E/Adreno200-ES20(12756): <qgl2DrvAPI_glBufferSubData:709>: GL_INVALID_OPERATION E/Adreno200-ES20(12756)::GL\U操作无效 我正在使用以下代码: /** *设置ZoomControl *@param params */ pu

我正在使用我的应用程序中的Surface view开发定制相机,还使用屏幕截图录制视频

我希望在我的相机代码中实现变焦控制,但没有成功

缩放时获取此日志:

E/Adreno200-ES20(12756): <qgl2DrvAPI_glBufferSubData:709>: GL_INVALID_OPERATION
E/Adreno200-ES20(12756)::GL\U操作无效
我正在使用以下代码:

/** *设置ZoomControl *@param params */

public void设置ZoomControl(Camera.Parameters参数){
paramtrs=params;
ZoomControl ZoomControl=(ZoomControl)findViewById(R.id.ZoomControl);
if(params.isZoomSupported()){
final int maxZoomLevel=paramtrs.getMaxZoom();
Log.i(“最大缩放”,“is”+最大缩放级别);
ZoomControl.setIsZoomInEnabled(真);
ZoomControl.setIsZoomOutEnabled(真);
setOnZoomInClickListener(新的OnClickListener()){
公共void onClick(视图v){
int currentZoomLevel=0;
如果(currentZoomLevel0){
当前缩放级别--;
照相机。开始平滑缩放(当前缩放级别);
}
}
});
}否则
ZoomControl.setVisibility(View.GONE);
}
请告诉我代码中发生了什么

您可以使用此代码

if(params.isZoomSupported()){
final int maxZoomLevel=params.getMaxZoom();
Log.i(“最大缩放”,“is”+最大缩放级别);
ZoomControl.setIsZoomInEnabled(真);
ZoomControl.setIsZoomOutEnabled(真);
setOnZoomInClickListener(新的OnClickListener()){
公共void onClick(视图v){
如果(currentZoomLevel0){
当前缩放级别--;
参数设置缩放(当前缩放级别);
mCamera.setParameters(参数);
}
}
});    
}
其他的
ZoomControl.setVisibility(View.GONE);
您可以使用此代码

if(params.isZoomSupported()){
final int maxZoomLevel=params.getMaxZoom();
Log.i(“最大缩放”,“is”+最大缩放级别);
ZoomControl.setIsZoomInEnabled(真);
ZoomControl.setIsZoomOutEnabled(真);
setOnZoomInClickListener(新的OnClickListener()){
公共void onClick(视图v){
如果(currentZoomLevel0){
当前缩放级别--;
参数设置缩放(当前缩放级别);
mCamera.setParameters(参数);
}
}
});    
}
其他的
ZoomControl.setVisibility(View.GONE);
public void setZoomControl(Camera.Parameters params) {
    paramtrs = params;
    ZoomControls zoomControls = (ZoomControls) findViewById(R.id.zoomcontrols);

    if (params.isZoomSupported()) {
        final int maxZoomLevel = paramtrs.getMaxZoom();
        Log.i("max ZOOM ", "is " + maxZoomLevel);

        zoomControls.setIsZoomInEnabled(true);
        zoomControls.setIsZoomOutEnabled(true);

        zoomControls.setOnZoomInClickListener(new OnClickListener() {
            public void onClick(View v) {
                int currentZoomLevel = 0;
                if (currentZoomLevel < maxZoomLevel) {
                    currentZoomLevel++;
                    camera.startSmoothZoom(currentZoomLevel);
                }
            }
        });

        zoomControls.setOnZoomOutClickListener(new OnClickListener() {
            public void onClick(View v) {
                int currentZoomLevel = 0;
                if (currentZoomLevel > 0) {
                    currentZoomLevel--;
                    camera.startSmoothZoom(currentZoomLevel);
                }
            }
        });
    } else
        zoomControls.setVisibility(View.GONE);
}
if (params.isZoomSupported()) {
        final int maxZoomLevel = params.getMaxZoom();
        Log.i("max ZOOM ", "is " + maxZoomLevel);
        zoomControls.setIsZoomInEnabled(true);
        zoomControls.setIsZoomOutEnabled(true);

        zoomControls.setOnZoomInClickListener(new OnClickListener(){
            public void onClick(View v){
                if(currentZoomLevel < maxZoomLevel){
                    currentZoomLevel++;
                    //mCamera.startSmoothZoom(currentZoomLevel);
                    params.setZoom(currentZoomLevel);
                    mCamera.setParameters(params);
                }
            }
        });

        zoomControls.setOnZoomOutClickListener(new OnClickListener(){
            public void onClick(View v){
                if(currentZoomLevel > 0){
                    currentZoomLevel--;
                    params.setZoom(currentZoomLevel);
                    mCamera.setParameters(params);
                }
            }
        });    
    }
    else
        zoomControls.setVisibility(View.GONE);