13

¿Esto es posible? He intentado usar MediaPlayer pero arroja una NullPointerException en el objeto MediaPlayer. Puedo hacer que el audio funcione pero el video no.Android Reproducción de archivos de película en un Live Wallpaper

mp=MediaPlayer.create(getApplicationContext(), R.raw.sample); 
mp.start(); 
mp.setOnCompletionListener(new OnCompletionListener() 
{ 
    public void onCompletion(MediaPlayer mp) { 
      mp.release(); 
      playing = false; 
    } 
}); 

la muestra es del tipo .mp4.

¿Alguien tiene una idea de por qué está sucediendo esto o tiene una sugerencia para otro método para reproducir videos?

+0

Sugiero leer la documentación: http://developer.android.com/reference/android/media/MediaPlayer.html. Para empezar, debe llamar a prepare() o prepareAsync() antes de llamar a start(); –

+2

Puedo sentir que mi batería se agota solo de pensarlo ... – KidTempo

+0

¿Puede obtener su código para reproducir video en una aplicación normal? Esa es una forma de descartar si su código es o no el problema. –

Respuesta

3

Usted puede utilizar el código siguiente

VideoView videoView; 
    VideoView = (VideoView) findViewById (R.id.txt1); 
    videoView.setVideoPath(path); 
    videoView.setVisibility(VideoView.VISIBLE); 
videoView.start(); 

he tratado de jugar mp4 en mi emulador pero no estaba mostrando vídeo, pero cuando he intentado en el dispositivo que funciona bien.

+0

Primero intente ejecutar su código en el dispositivo – Salman

1

No lo he intentado antes, pero creo que puede usar vlcj framework que es totalmente gratuito y puede reproducir de manera efectiva casi cualquier tipo de video (y por supuesto reproduce archivos de video .mp4). No puedo darle ningún código en androide, porque nunca han trabajado con Android pero sé Java y works.So y que sólo aquí lo que yo uso en Java:

NativeLibrary.addSearchPath("libvlc",path); //To set path of libvlc 
Native.loadLibrary(RuntimeUtil.getLibVlcLibraryName(), LibVlc.class);//To import libvlc 
//The path can be a folder in your android project.All the files needed are in vlc player installation folder.so yes you have to install vlc in your computer to get those files but just once. 
canvas = new WindowsCanvas(); 
panel.add(canvas);//panel is like your VideoView 
canvas.setVisible(true); 
canvas.setBackground(Color.black); 

mediaPlayerFactory = new MediaPlayerFactory(); 
player12 = mediaPlayerFactory.newEmbeddedMediaPlayer(); 
CanvasVideoSurface videoSurface = mediaPlayerFactory.newVideoSurface(canvas); 
player12.setVideoSurface(videoSurface); 
player12.setPlaySubItems(true); 
player12.startMedia(yourVideoPath); 

player12.setAspectRatio(""+panel.getWidth()+":"+panel.getHeight()); //Those two lines are for your video to be adusted in your panel or better to your VideoView 
player12.setCropGeometry(""+panel.getWidth()+":"+panel.getHeight()); 

los archivos jAR que tiene que incluir en su ruta de clase son JNA-3.4.0.jar , platform-3.4.0.jar, vlcj-2.1.0.jar

Cuestiones relacionadas