我希望能够添加我创建的视频,该视频在屏幕上显示时会自动开始播放,到目前为止,我的代码如下所示:

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


当前,当我单击并转到该屏幕时,什么也没有发生。当我使用媒体播放器时,它会播放声音,但我确实要添加此视频。任何帮助将非常感激。

最佳答案

使用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对象必须首先进入“准备”状态,然后才能
  可以开始播放。有两种方法(同步vs.
  异步),可以达到Prepared状态:
  prepare()(同步),将对象转移到Prepared
  方法调用返回或调用prepareAsync()时返回状态
  (异步),它首先将对象转移到“准备”状态
  通话返回后(发生的方式几乎正确),而
  内部播放器引擎继续进行其余的准备工作
  直到准备工作完成。当准备
  完成或当prepare()调用返回时,内部播放器引擎
  然后调用用户提供的回调方法,该方法的onPrepared()
  OnPreparedListener接口,如果已注册OnPreparedListener
  事先通过
  setOnPreparedListener(android.media.MediaPlayer.OnPreparedListener)。

07-24 09:44
查看更多