以下代碼展示了如何使用Parameters請求Camera對象采用縱向方向而非橫向方向。
public void surfaceCreated(SurfaceHolder holder) {
camera = Camera.open();
try {
Camera.Parameters parameters = camera.getParameters();
if (this.getResources().getConfiguration().orientation !=
Configuration.ORIENTATION_LANDSCAPE) {
//這是一個(gè)眾所周知但未文檔化的特性
parameters.set("orientation", "portrait");
//對于Android 2.2及以上版本
//camera.setDisplayOrientation(90);
//對于Android 2.2及以上版本取消注釋
//parameters.setRotation(90);
} else {
//這是一個(gè)眾所周知但未文檔化的特性
parameters.set("orientation", "landscape");
//對于Android 2.2及以上版本
//camera.setDisplayOrientation(0);
//對于Android 2.2及以上版本取消注釋
//parameters.setRotation(0);
}
camera.setParameters(parameters);
camera.setPreviewDisplay(holder);
} catch (IOException exception) {
camera.release();
Log.v(LOGTAG,exception.getMessage());
}
camera.startPreview();
}