【发布时间】:2013-08-18 16:15:40
【问题描述】:
我正在使用我的应用程序中的 Surface 视图开发自定义相机,还使用屏幕捕获录制视频。
我希望在我的相机代码中实现缩放控制,但没有成功。
在缩放时获取此日志:
E/Adreno200-ES20(12756): <qgl2DrvAPI_glBufferSubData:709>: GL_INVALID_OPERATION
我正在使用以下代码:
/** * 设置缩放控制 * @param 参数 */
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);
}
请建议我的代码中发生了什么。
【问题讨论】: