Estoy perplejo.Reproducción de video da pantalla en negro pero con sonido
Estoy tratando de reproducir video con el Reproductor multimedia, pero mientras se reproduce el audio, todo lo que obtengo es una ventana negra.
He visto otras publicaciones sobre este problema pero no he encontrado una solución. Intenté seguir sus sugerencias.
El reproductor de medios está preparado antes de la reproducción. El soporte de superficie fue creado y configurado en la pantalla del reproductor de medios antes de la reproducción.
Probado en un Samsung Galaxy Tab y Galaxy S. Samsung
Estoy compilando contra el nivel de la API 7.
El vídeo en sí se puede jugar en aplicación de vídeo del dispositivo desde la tarjeta sd, por lo que debe ser compatible
La vista de superficie no tiene el mismo tamaño que el video. Entonces eso podría ser un problema. ¿Tengo que hacer algo al respecto o me estoy estirando automáticamente?
Esto es lo que tengo en la 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 devoluciones de llamada:
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 estaba trabajando hace adecuadamente un tiempo, pero ahora no es.
¿Qué es el códec de video? – rds
¿Alguna suerte con esta popular pregunta? – Behnam