如何将视频文件(mp4)添加到我的Android应用程序中?

时间:2014-12-03 20:52:59

标签: java android android-videoview mp4

我希望能够添加一个我创建的视频,当它在屏幕上显示时自动开始播放,到目前为止我的代码看起来像这样:

VideoView videoview = (VideoView) findViewById(R.id.button10);
Uri uri = Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.group_project);
videoview.setVideoURI(uri);
videoview.start();

当我点击并进入该屏幕时,当前没有任何反应。当我使用媒体播放器时播放声音,但我真的想添加此视频。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:6)

使用setOnPreparedListener()方法非常重要,请确保在group_project.mp4文件夹中有一个名为/raw的视频。

  final VideoView videoview = (VideoView) findViewById(R.id.button10);
    Uri uri = Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.group_project);
    videoview.setVideoURI(uri);
    videoview.setOnPreparedListener(new OnPreparedListener() {
            @Override
            public void onPrepared(MediaPlayer mp) {
                videoview.start();    
            }
        });

阅读文档:

  

MediaPlayer对象必须先进入Prepared状态   可以开始播放。有两种方式(同步vs.   异步)可以达到准备状态:要么调用   prepare()(同步)将对象传输到Prepared   一旦方法调用返回,或调用prepareAsync()   (异步)首先将对象传输到Preparation状态   在呼叫返回后(几乎正确地发生)同时   内部播放器引擎继续处理其余的准备工作   工作直到准备工作完成。什么时候准备   完成或当prepare()调用返回时,内部播放器引擎   然后调用用户提供的回调方法onPrepared()   OnPreparedListener接口,如果注册了OnPreparedListener   预先通过   setOnPreparedListener(android.media.MediaPlayer.OnPreparedListener)。

答案 1 :(得分:0)

VideoView videoview = (VideoView) findViewById(R.id.button10);
MediaController mediaController = new MediaController(this);
mediaController.setAnchorView(videoView);
Uri uri = Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.group_project);
videoView.setMediaController(mediaController);
videoView.setVideoURI(uri);
videoview.start();

答案 2 :(得分:0)

在执行videoview.start()之前尝试此操作以确保准备就绪。

videoview.setOnPreparedListener(new OnPreparedListener() {
    @Override
    public void onPrepared(MediaPlayer mediaPlayer) {
        videoview.start();
    }
});