La vista previa de la cámara sigue siendo negra
Estoy probando la vista previa de la cámara en mis aplicaciones de Android. Cuando intento en mis dispositivos reales, me da la pantalla en negro.
Este es mi código y no arroja ningún error, pero la pantalla sigue siendo negra. ¿Algunas ideas?
- Se ha producido un error al establecer la orientación
- Google Goggles Autofocus de la cámara
- ¿Cómo puedo establecer el tamaño de vista previa de la cámara a la relación de aspecto cuadrado en un SurfaceView cuadrado (como Instagram)
- ¿Cómo usar setCamera (MediaRecorder)?
- Negación de permisos: no se permite enviar emisiones en android
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(); } }; } }
¿Puede alguien darme algún tipo de explicación por qué me da pantalla en negro?
- buscando un ejemplo de indicador de enfoque automático de cámara
- Android: cómo detectar si la cámara parpadea
- Android Camera - Guarda la imagen en una nueva carpeta en la tarjeta SD
- Problemas con el flash de la cámara Samsung Galaxy S5
- ¿Cuál es la mejor manera de llamar a StartPreview () después de capturar una imagen?
- Grabación de vídeo de un servicio
- ¿Cómo selecciono la cámara correcta para encender la linterna, en Android 2.2?
- Cámara androide: onActivityResult () la intención es nula si tenía extras
Tal vez usted está siendo afectado por este error de la cámara Android.
La solución a la que se propone aquí trabajar alrededor .
Espero que ayude..
Consulte también este enlace
Llamas a las tres últimas líneas demasiado pronto. Tienes que esperar a que la superficie esté preparada antes de llamar a setPreviewDisplay () y tienes que esperar a que la superficie sea de tamaño (surfaceChanged ()) antes de llamar a startPreview (). Este proyecto tiene lo que necesita.
- Gradle no pudo resolver la biblioteca otto
- Establecer el límite inferior del número de estrellas que se muestran en RatingBar Android