如何在Android中的不同按钮点击的同一活动中播放来自原始文件夹的3个视频?

时间:2014-06-23 08:18:57

标签: android android-videoview mediacontroller surfaceholder textureview

我必须在同一Buttons的3个不同Activity上播放三个视频。

我的第一个视频播放,如果我播放另一个视频,最后的截图如图像进入前景,当前视频正在屏幕截图后面播放,就像上一个视频的图像一样。

请帮助我之前我已经问过这个http://blog.lemberg.co.uk/surface-view-playing-video解决方案,但这对我没有帮助..

我尝试在不同的Activity上播放此视频,并在视频完成之后进入上一个活动。 但根据我目前的代码结构,它不适合我。

2 个答案:

答案 0 :(得分:0)

您可以在活动中使用一个视频视图,并在按钮单击时切换要播放的内容。 在开始视频播放之前,只需检查视频是否正在播放 对于videoview,您可以通过

查看
videoView.isPlaying()

如果正在播放,则停止并开始使用从raw加载的新视频内容。 因此,想法是在点击按钮时,检查视频视频是否正在播放然后停止并开始,否则就开始了。

创建一个像这样的函数

playVideo(String path)
{
    Uri uri = Uri.parse(uriPath);
    mVideoView.setVideoURI(uri);
    mVideoView.requestFocus();
    if(mVideoView.isPlaying())
     {
       mVideoView.stopPlayback();
     }
    mVideoView.start();
}

通过三个不同的路径点击三次按钮调用此功能。

答案 1 :(得分:0)

vidRiver = (VideoView) findViewById(R.id.videoView1);


vidRiver.setMediaController(new MediaController(this));


vidRiver.setVideoPath("/mnt/sdcard/APK/river.mp4");

vidRiver.setVideoURI(Uri.parse("android.resource://" + getPackageName()
            + "/" + R.raw.river));
    vidRiver.requestFocus();
    vidRiver.start();
    setContentView(vidRiver);

    vidRiver.setOnCompletionListener(new OnCompletionListener() {

        @Override
        public void onCompletion(MediaPlayer mp) {
            // TODO Auto-generated method stub
       }
}