我希望能够添加我创建的视频,该视频在屏幕上显示时会自动开始播放,到目前为止,我的代码如下所示:
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)。