我正在实施一款能够录制视频的Android应用。我正在尝试实现缩放功能,但我无法让它工作。我没有找到任何好的代码。 我发布了我尝试过的一段代码。此代码位于我正在实施视频录制的主活动中的OnCreate方法中:
ImageView test = (ImageView) findViewById(R.id.zoom);
test.setClickable(true);
test.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Context context4 = getApplicationContext();
int duration = Toast.LENGTH_SHORT;
Camera.Parameters parameters = mCamera.getParameters();
parameters.setZoom(parameters.getMaxZoom());
boolean Zoom = parameters.isZoomSupported();
int maxZoom = parameters.getMaxZoom();
if (parameters.isZoomSupported()) {
if (zoom >=0 && zoom < parameters.getMaxZoom()) {
parameters.setZoom(parameters.getZoom()+1);
parameters.setZoom(zoom);
mCamera.setParameters(parameters);
Toast.makeText(context4, "Zoom Setted: "+parameters.getZoom(), duration).show();
} else {
// zoom parameter is incorrect
Toast.makeText(context4, "Zoom NOT Setted", duration).show();
}
}
}
});
所以我所拥有的是一个名为“缩放”的图像视图,点击它时会增加视频预览的缩放直到达到允许的最大缩放!这就是我想在理论上实现的,但是当我点击imageview时没有任何事情发生....也没有显示任何吐司! 我在Nexus上测试它。 有人知道如何修改此代码以便工作或有人试图以不同的方式实现?如果是,我该怎么办? PS:参数变焦在上面被定义为初始化为1的int。
答案 0 :(得分:0)
在Nexus S上可能就是
!isZoomSupported()
例如:https://code.google.com/p/aokp/issues/detail?id=172。
这可以解释为什么你不会从
中的代码中看到任何祝酒词if (parameters.isZoomSupported()) {...}