Kamera Vorschau noch schwarz
Ich versuche die Kamera-Vorschau auf meinen Android-Anwendungen. Wenn ich versuche auf meine Reale Geräte, es gibt mir ein schwarzer Bildschirm angezeigt.
Dies ist mein code und es nicht werfen nicht alle Fehler, aber der Bildschirm ist immer noch schwarz. Irgendwelche Ideen?
import android.app.Activity;
import android.content.Context;
import android.graphics.PixelFormat;
import android.hardware.Camera;
import android.hardware.Camera.Parameters;
import android.os.Bundle;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.widget.FrameLayout;
public class ARrazerNav extends Activity{
public void onCreate(Bundle savedInstanceState){
try{
super.onCreate(savedInstanceState);
CustomCameraView cv = new CustomCameraView(this.getApplicationContext());
FrameLayout r1 = new FrameLayout(this.getApplicationContext());
setContentView(r1);
r1.addView(r1);
}catch (Exception e) {
//TODO: handle exception
}
}
public class CustomCameraView extends SurfaceView{
Camera camera;
SurfaceHolder previewHolder;
public CustomCameraView(Context ctx){
super(ctx);
previewHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
previewHolder.addCallback(surfaceHolderListener);
}
SurfaceHolder.Callback surfaceHolderListener = new SurfaceHolder.Callback(){
public void surfaceDestroyed(SurfaceHolder holder) {
//TODO Auto-generated method stub
camera.stopPreview();
camera.release();
}
public void surfaceCreated(SurfaceHolder holder) {
//TODO Auto-generated method stub
camera = Camera.open();
try{
camera.setPreviewDisplay(previewHolder);
}catch (Throwable th) {
//TODO: handle exception
}
}
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
//TODO Auto-generated method stub
Parameters params = camera.getParameters();
params.setPreviewSize(width, height);
params.setPictureFormat(PixelFormat.JPEG);
camera.setParameters(params);
camera.startPreview();
}
};
}
}
Kann jemand geben Sie mir irgendeine Art von Erklärung, warum es mich gibt schwarzen Bildschirm?
InformationsquelleAutor DevYudh | 2011-12-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vielleicht werden Sie von diesem Fehler betroffen von android Kamera bug.
Den workaround, um die hier vorgeschlagenen Umgehen.
Ich hoffe es hilft..
Ich weiß, das ist sehr spät, aber Ihre Antwort und Arbeit um nicht mit der Frage, weil dies ist der Fall von benutzerdefinierten Kamera und es gibt nicht die Absicht an dieser.
InformationsquelleAutor R.daneel.olivaw
Siehe auch diese Link
Sie sind dem Aufruf der letzten drei Zeilen zu früh. Sie müssen warten, bis die Oberfläche vorbereitet werden, vor dem Aufruf setPreviewDisplay (), und Sie müssen warten, bis die Oberfläche zu bemessen ist (surfaceChanged()) vor dem Aufruf startPreview(). Dieses Projekt hat, was Sie brauchen.
InformationsquelleAutor