Modifier les paramètres de la camera
Bonjour
J'ai un problème quand je veux modifier les paramètres de la camera. Voici mon code :
Code:
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