Dans mon application, l'aperçu de la caméra fonctionne correctement à la fois en mode potrait et en mode paysage. Aucun incident ne se produit, mais les utilisateurs se plaignent que les plantages se produisent lorsqu'ils utilisent le même. quel est le problème avec ça? veuillez m'aider à résoudre ce problèmeProblème d'aperçu de l'appareil photo?
-1
A
Répondre
1
Assurez-vous de demander une résolution de prévisualisation de caméra prise en charge.
Voir Camera.Parameters.getSupportedPreviewSizes
pour plus de détails sur la façon d'interroger les résolutions prises en charge et de demander une résolution prise en charge avec Camera.Parameters.setPreviewSize
.
0
Peut-être que vous devez désactiver la caméra de redémarrer la rotation en fixant la mise en page dans votre activité, comme ceci:
public void onCreate(Bundle savedInstanceState) {
...
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
0
Le problème est l'appareil est incapable de régler les paramètres de prévisualisation. Vous pouvez utiliser le code suivant pour définir les paramètres d'aperçu qui fonctionneront sur n'importe quel périphérique.
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
if (isPreviewRunning) {
camera.stopPreview();
}
try{
Camera.Parameters p = camera.getParameters();
if(p!=null){
List<Size> sizes = p.getSupportedPreviewSizes();
Size optimalSize = getOptimalPreviewSize(sizes, w, h);
p.setPreviewSize(optimalSize.width, optimalSize.height);
camera.setParameters(p);
camera.setPreviewDisplay(holder);;
camera.startPreview();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
isPreviewRunning = true;
}
private Size getOptimalPreviewSize(List<Size> sizes, int w, int h) {
// TODO Auto-generated method stub
final double ASPECT_TOLERANCE = 0.05;
double targetRatio = (double) w/h;
if (sizes == null) return null;
Size optimalSize = null;
double minDiff = Double.MAX_VALUE;
int targetHeight = h;
// Try to find an size match aspect ratio and size
for (Size size : sizes) {
double ratio = (double) size.width/size.height;
if (Math.abs(ratio - targetRatio) > ASPECT_TOLERANCE) continue;
if (Math.abs(size.height - targetHeight) < minDiff) {
optimalSize = size;
minDiff = Math.abs(size.height - targetHeight);
}
}
// Cannot find the one match the aspect ratio, ignore the requirement
if (optimalSize == null) {
minDiff = Double.MAX_VALUE;
for (Size size : sizes) {
if (Math.abs(size.height - targetHeight) < minDiff) {
optimalSize = size;
minDiff = Math.abs(size.height - targetHeight);
}
}
}
return optimalSize;
}
essayer.
Questions connexes
- 1. L'application Photo Picker a le même problème!
- 2. Android: L'appareil photo est pas disponible problème
- 3. problème avec la suppression d'un objet photo
- 4. iOS 4.2 appareil photo et problème d'album
- 5. Cadres photo/photo
- 6. Ruby on Rails problème de téléchargement de photo
- 7. Problème d'orientation photo dans le TTPhotoViewController de Three20?
- 8. Iphone OpengGL ES: Problème d'affichage de l'appareil photo
- 9. avec photo de téléchargement de l'appareil photo canon à pc
- 10. Obtenez photo de photothèque
- 11. photo slider
- 12. Rotation de l'appareil photo (OpenGL)
- 13. Autorisation d'appareil photo Blackberry
- 14. Comment montrer une photo?
- 15. application de cadre photo iphone
- 16. quelle est la résolution de la photo prise par l'appareil photo de l'iPhone 4?
- 17. Comment prendre une photo avec une photo instantanée dans Flex?
- 18. Comment enregistrer une photo dans un album photo?
- 19. Envoyer une photo depuis un appareil photo iPhone?
- 20. Exception de l'appareil photo hors mémoire
- 21. Système d'impression photo API?
- 22. Iphone contact photo
- 23. iphone photo taille maximale
- 24. ASP.Net Ajax Photo Upload
- 25. Android - Capture photo
- 26. traitement photo .NET composants
- 27. Création d'albums photo
- 28. upload photo avec codeigniter
- 29. simple photo viewer
- 30. jquery photo slide
Sur un (des) appareil (s) particulier (s)? Avez-vous réussi à obtenir un journal de tous les utilisateurs? –
ok je vais essayer. les utilisateurs remarquent que les images sont écrasées en mode potrait.they obtiennent une exception d'exécution – harish