Я использую следующий пользовательский SurfaceView для некоторых задач AR. Я установил android:screenOrientation="portrait"
для своей активности в AndroidManifest, но изображение поворачивается на 90 градусов со странным соотношением сторон. Я использую Samsung Galaxy S ...
Кто-нибудь может помочь?
public class CustomCameraView extends SurfaceView
{
Camera camera;
SurfaceHolder previewHolder;
SurfaceHolder.Callback surfaceHolderListener = new SurfaceHolder.Callback() {
public void surfaceCreated(SurfaceHolder holder) {
try {
camera = Camera.open();
camera.setPreviewDisplay(previewHolder);
} catch (IOException e) {
e.printStackTrace();
}
}
public void surfaceChanged(SurfaceHolder surfaceHolder, int format, int w, int h)
{
Parameters params = camera.getParameters();
params.setPreviewSize( 800, 480);
params.setPictureFormat(PixelFormat.JPEG);
camera.setParameters(params);
camera.startPreview();
}
public void surfaceDestroyed(SurfaceHolder arg0)
{
camera.stopPreview();
camera.release();
}
};
public CustomCameraView(Context context)
{
super(context);
previewHolder = this.getHolder();
previewHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
previewHolder.addCallback(surfaceHolderListener);
}
protected void onDraw (Canvas canvas)
{
super.onDraw(canvas);
}
public void closeCamera()
{
if(camera != null)
camera.release();
}
}