2010-05-01 4 views
6

Est-ce que quelqu'un a rencontré un comportement étrange avec l'API Camera lorsqu'il est utilisé sur Sony-Ericsson X10 ou Droid?Pourquoi Camera.setParameters (Camera.Parameters) ne fonctionne pas sur Sony-Ericsson X10 et Droid?

Par exemple, le code suivant ne fonctionne pas sur ces périphériques. En conséquence, je reçois beaucoup de commentaires négatifs sur le marché de la traduction en plusieurs commandes annulées ...

mParameters.set("rotation", orientation); 
mParameters.set("jpeg-quality", img_quality); 
mParameters.set("picture-size", "1024x768"); 
mCamera.setParameters(mParameters); 

Pourriez-vous suggérer une autre façon de réaliser la même chose? Merci.

Répondre

11

Vous ne pouvez pas simplement définir des valeurs aléatoires dans les paramètres de la caméra parce que vous ne savez pas si le matériel va prendre en charge cela, vous devez donc demander d'abord!

mCamera = Camera.open(); 
Camera.Parameters params = mCamera.getParameters(); 
List<Size> sizes = params.getSupportedPictureSizes(); 
// See which sizes the camera supports and choose one of those 
mSize = sizes.get(0); 
params.setPictureSize(mSize.width, mSize.height); 
mCamera.setParameters(params); 
+0

Ok, ce qui explique pourquoi « l'image de taille » ne fonctionne pas, bien que la taille rejetée Je Nous avons utilisé assez standard "1024x768" ... Avez-vous des idées sur la "rotation" ?! Ceci est encore plus important pour moi, car si cela ne fonctionne pas, l'image est tournée de 90 ou 90 degrés au hasard. Merci! – mobilekid

+0

Votre solution fonctionne uniquement sur les révisions de framework Android 2.0 et ultérieures. Des idées pour obtenir les tailles d'image prises en charge sur 1.5 et 1.6? – mobilekid

+0

Il semble que le problème d'orientation soit un problème connu sur G1. Ce fil a un travail autour. http://groups.google.com/group/android-developers/browse_thread/thread/fec92fc79b38c698/b61f3669ec2a4fcf?show_docid=b61f3669ec2a4fcf Comme pour obtenir l'image pris en charge sur des formats 1.6 et au-dessous ce n'est pas pris en charge si le meilleur conseil qu'il juste pour le laisser tranquille. – CaseyB

0

Vous devez d'abord fixer l'orientation de l'activité et doit mettre les qualités: Orientation

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
mCamera.setDisplayOrientation(90); 
Questions connexes