La reproducción de vídeo proporciona pantalla en negro pero con sonido

Estoy perplejo.

Estoy tratando de reproducir video con el reproductor de medios, pero mientras el audio se reproduce, todo lo que obtengo es una ventana negra.

He visto otros mensajes sobre este problema, pero no he estado para encontrar una solución. He tratado de seguir sus sugerencias.

El reproductor multimedia se prepara antes de la reproducción. El soporte de superficie se creó y se ajustó a la pantalla del reproductor de medios antes de la reproducción.

Probado en un Samsung Galaxy Tab y un Samsung Galaxy S.

Estoy compilando contra API nivel 7.

El vídeo en sí se puede reproducir en la aplicación de vídeo del dispositivo desde la tarjeta sd, por lo que debe ser compatible.

La vista de la superficie no es del mismo tamaño que el video. Así que eso podría ser un problema. ¿Tengo que hacer algo al respecto o se está estirando manejado automáticamente?

Esto es lo que tengo en mi inicialización:

RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(width, height); lp.leftMargin = x; lp.topMargin = y; mSurfaceView = new SurfaceView(mActivity); mSurfaceView.requestFocus(); mSurfaceView.setZOrderOnTop(true); mSurfaceView.getHolder().addCallback(player); mSurfaceView.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); mLayout.addView(mSurfaceView, lp); mMediaPlayer = new MediaPlayer(); mMediaPlayer.setDataSource(assetDescriptor.getFileDescriptor(), assetDescriptor.getStartOffset(), assetDescriptor.getLength()); mMediaPlayer.setOnErrorListener(player); mMediaPlayer.setOnPreparedListener(player); mMediaPlayer.prepare(); 

Y aquí están mis callbacks:

 public void onPrepared(MediaPlayer mp) { mMediaPlayer.start(); } public void surfaceCreated (SurfaceHolder holder) { mMediaPlayer.setDisplay(holder); } 

Lo que es frustrante es que una versión del código funcionaba correctamente hace un tiempo, pero ahora no lo es.

One Solution collect form web for “La reproducción de vídeo proporciona pantalla en negro pero con sonido”

Tuve un problema similar, y estaba relacionado con el formato de vídeo (codec MP4, WMV, AVI, etc).

Intente ejecutar el video en el reproductor predeterminado de Android, ver si funciona. Si no funciona, entonces puede ser un problema en el códec de vídeo.

No intentes ejecutar el video en reproductores como VLC o Player MX, tienen códec incorporado.

  • Reproduce youtube / vimeo vídeo incrustado en HTML en Android WebView
  • Se ha abandonado BufferQueue: Al reproducir vídeo con TextureView
  • Obtener la URL de descarga para el vídeo de YouTube (Android / Java)
  • android-abrir la galería y elegir la imagen y el vídeo
  • Android - 360 metadatos de vídeo
  • Escala proporcional de Android VideoView
  • Duración máxima de la captura de vídeo en android
  • Inserción de un vídeo en MediaStore
  • Vídeo incrustado HTML5 de Android
  • Reproducción de vídeo nativa de Android con canal alfa
  • MediaMuxer no puede hacer MP4 que son streamable
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.