J'utilise un Nexus One et l'appareil photo affiche horizontalement quand il devrait être vertical et vice versa. Je n'ai aucune idée de ce qui ne va pas. Le code fonctionne très bien sur un tatouage HTC. Quelqu'un at-il une idée de ce qui ne va pas?Aperçu de la caméra, Horizontal quand devrait être Vertical Fonctionne correctement sur HTC Tattoo, s'est cassé sur Nexus
class Preview extends SurfaceView implements SurfaceHolder.Callback {
SurfaceHolder mHolder;
Camera mCamera;
Preview(Context context) {
super(context);
// Install a SurfaceHolder.Callback so we get notified when
//the
// underlying surface is created and destroyed.
mHolder = getHolder();
mHolder.addCallback(this);
mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
public void surfaceCreated(SurfaceHolder holder) {
// The Surface has been created, acquire the camera and tell
//it where
// to draw.
mCamera = Camera.open();
try {
mCamera.setPreviewDisplay(holder);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void surfaceDestroyed(SurfaceHolder holder) {
// Surface will be destroyed when we return, so stop the
//preview.
// Because the CameraDevice object is not a shared resource,
//it's very
// important to release it when the activity is paused.
mCamera.stopPreview();
mCamera = null;
}
public void surfaceChanged(SurfaceHolder holder, int format, int
w, int h) {
// Now that the size is known, set up the camera parameters
//and begin
// the preview.
Camera.Parameters parameters = mCamera.getParameters();
parameters.setPreviewSize(800, 480);
mCamera.setParameters(parameters);
mCamera.startPreview();
}
Qu'est-ce que vous avez dans votre manifeste pour 'android: screenOrientation'? – CommonsWare
android: screenOrientation = "portrait" FYI: suppression qui ne fixe rien mais provoque des erreurs. – Skizit