Android игры в кино в живом фоне

Возможно ли это? Я попытался использовать MediaPlayer, но он выдает исключение NullPointerException в объекте MediaPlayer. Я могу заставить аудио работать, но видео не будет.

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

Образец имеет тип .mp4.

У кого-нибудь есть идея, почему это происходит или есть предложение по другому способу получения видеороликов?

Solutions Collecting From Web of "Android игры в кино в живом фоне"

Вы можете использовать следующий код

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

Я пытался воспроизвести mp4 на своем эмуляторе, но он не показывал видео, но когда я пытался работать на устройстве, он работал нормально.

Не пробовал это раньше, но я думаю, вы можете использовать vlcj framework, который абсолютно свободен и может эффективно воспроизводить практически любой тип видео (и, конечно же, играет видеофайлы .mp4). Я не могу дать вам какой-либо код в Android, потому что никогда Работал с андроидом, но я знаю java, и он просто работает. Вот здесь я использую 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()); 

Файлы jar, которые вы должны включить в свой путь к классам, – jna-3.4.0.jar, platform-3.4.0.jar, vlcj-2.1.0.jar