Bonjour

J'ai un problème quand je veux modifier les paramètres de la camera. Voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
public class Photo extends Activity implements Callback  {
 
	private Camera camera = null;
 
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
 
		SurfaceView view = new SurfaceView(this);
		view.getHolder().addCallback(this);
		  view.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
 
		setContentView(view);
 
	}
 
	@Override
	public void surfaceChanged(SurfaceHolder holder, int format, int width,
			int height) {
		try {
		Camera.Parameters parameters = camera.getParameters();
		parameters.setPreviewSize(width, height);
		parameters.setPictureFormat(PixelFormat.JPEG);
		camera.setParameters(parameters);
                camera.startPreview();
		} catch (Exception e) {
            Toast
            .makeText(Photo.this, e.getMessage(), Toast.LENGTH_LONG)
            .show();
 
		}
 
 
	}
 
	@Override
	public void surfaceCreated(SurfaceHolder holder) {
		try {
			camera = Camera.open();
			camera.setPreviewDisplay(holder);
		} catch (Exception e) {
 
		}
	}
 
	@Override
	public void surfaceDestroyed(SurfaceHolder holder) {
		camera.stopPreview();
		camera.release();
		camera = null;
 
	}

Quand j'exécute l'évènement surfaceChanged, j'ai l'exception suivante : "setParameters failed"

Est-ce que quelqu'un aurait une idée ?

Pour information :
- J'utilise la permission CAMERA
- Cela ne marche pas sur mon portable (HTC Desire) alors que cela fonctionne quand je fais mes tests sur un émulateur

Merci d'avance