Android - Aperçu De L'Appareil Photo
je suis en train d'aperçu de la caméra
C'est mon code et il ne jette pas erreur, mais l'écran est toujours noir. Des idées?
this.setContentView(R.layout.camerapreview);
SurfaceView cameraSurface = (SurfaceView)findViewById(R.id.cpPreview);
SurfaceHolder holder = cameraSurface.getHolder();
holder.addCallback(this);
holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
this.camera = Camera.open();
this.camera.setPreviewDisplay(holder);
this.camera.startPreview();
camerapreview.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<SurfaceView
android:id="@+id/cpPreview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center">
</SurfaceView>
</LinearLayout>
OriginalL'auteur david | 2010-03-16
Vous devez vous connecter pour publier un commentaire.
Vous appelez les trois dernières lignes trop tôt. Vous devez attendre que la surface soit préparé avant d'appeler
setPreviewDisplay()
et vous devez attendre que la surface soit de taille moyenne (surfaceChanged()
) avant d'appelerstartPreview()
. Ce projet ce dont vous avez besoin.Je ne sais pas ce que vous entendez par "asymétrie" dans cette situation. FWIW, mon actuel travail de la caméra est sur: github.com/commonsguy/cwac-camera
Oh wow. la Caméra-demov9 de votre nouveau code, le problème est réglé!! Je vais obtenir un diff de ce que j'étais en train de faire différentes et de le poster ici pour le bénéfice de tout le monde. Triste que Google documentaion est obscur dans ces domaines.
Semble que mon Aperçu de la taille des calculs ont mal.
Le getBestPreviewSize fonction n'est pas tout à fait correct. Exemple pour une configuration comme suit: cette fonction renvoie 640x480 comme le meilleur aperçu de la taille provoquant l'extrait d'être biaisée. Il devrait donner le plus proche de la bonne valeur 864 x 480. Ci-dessous est le journal de l'avilable taille d'aperçu , mes appareils de la taille d'affichage et la valeur de retour de getBestPreviewSize() fonction.
OriginalL'auteur CommonsWare