Android在动态壁纸中播放电影文件

13

这可行吗?我尝试使用MediaPlayer,但它会在MediaPlayer对象上抛出NullPointerException。我可以让音频正常工作但视频无法正常工作。

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

这个示例的类型是 .mp4。

有人知道为什么会出现这种情况吗?或者有其他方法可以播放视频吗?


我建议阅读文档:http://developer.android.com/reference/android/media/MediaPlayer.html。首先,在调用start()之前,您需要调用prepare()或prepareAsync()。 - William Seemann
2
我只是想一想就感觉电池在耗尽... - KidTempo
你能让你的代码在常规应用程序中播放视频吗?这是排除你的代码是否有问题的一种方式。 - Yusuf X
2个回答

3
你可以使用以下代码。
VideoView videoView;
    VideoView = (VideoView) findViewById (R.id.txt1);
    videoView.setVideoPath(path);
    videoView.setVisibility(VideoView.VISIBLE);
videoView.start();

我曾尝试在模拟器上播放mp4视频,但是没有显示视频。但当我在设备上尝试时,它可以正常工作。


1
以IT相关内容翻译为准:

之前没有尝试过,但我认为您可以使用完全免费并且能够有效播放几乎任何类型视频(当然也可以播放.mp4视频文件)的vlcj框架。我不能给您任何安卓代码,因为我从未使用过安卓,但我了解Java,而 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。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接