Android Lecture de fichiers vidéo dans un fond d’écran animé

Est-ce seulement possible? J’ai essayé d’utiliser MediaPlayer, mais une exception NullPointerException est renvoyée sur l’object MediaPlayer. Je peux faire fonctionner l’audio mais la vidéo ne le fait pas.

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

l’échantillon est de type .mp4.

Quelqu’un a-t-il une idée de la raison pour laquelle cela se produit ou a-t-il une suggestion pour une autre méthode permettant de faire jouer des vidéos?

Vous pouvez utiliser le code suivant

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

J’ai essayé de jouer au format MP4 sur mon émulateur, mais il ne montrait pas de vidéo, mais lorsque j’ai essayé le périphérique, il fonctionne bien.

Je n’ai jamais essayé cela auparavant, mais je pense que vous pouvez utiliser le framework vlcj totalement gratuit et capable de lire efficacement presque tout type de vidéo (et bien sûr de lire des fichiers vidéo .mp4). Je ne peux vous donner aucun code dans Android car travaillé avec android mais je sais java et et ça marche.Alors voici ce que j’utilise 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()); 

Les fichiers jar que vous devez inclure dans votre chemin de classe sont jna-3.4.0.jar, platform-3.4.0.jar, vlcj-2.1.0.jar.