用VideoView实现视频的无缝连续播放

使用VideoView实现在Android上的无缝视频连续播放
本文介绍了如何利用Android的VideoView组件实现视频的无缝连续播放。通过设置setOnCompletionListener监听视频结束事件,当一段视频播放完毕后,自动启动下一段视频的播放,视频资源存储在SD卡的Download目录中。

该视频播放器采用了较为简单的videoview,基本思想就是用setOnCompletionListener对视频播进行监听,当视频播放完毕之后,播放下一段视频,视频源放在SD卡内的Download文件夹内,具体代码如下:

 public class MainActivity extends Activity {
    VideoView videoView;
    static int pos=1; //静态整型变量用于标记播放到了第几段视频
    MediaController mController;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getWindow().setFormat(PixelFormat.TRANSLUCENT);
        setContentView(R.layout.activity_main);
        videoView=(VideoView)findViewById(R.id.video);
       mController=new MediaController(this);

        File video=new File("/mnt/sdcard/Download/video"+pos+".mp4");


        if(video.exists())
        {

            videoView.setVideoPath(video.getAbsolutePath());
        /*  videoView.setMediaController(mController);
            mController.setMediaPlayer(videoView);*/
            videoView.requestFocus();
            videoView.start();
        }

        videoView.setOnCompletionListener(new OnCompletionListener() {

            @Override
            public void onCompletion(MediaPlayer mp) {
                // TODO Auto-generated method stub
                pos=pos+1;  //在这里将视频地址变为下一个
                File video2=new File("/mnt/sdcard/Download/video"+pos+".mp4");
                if(video2.exists())
                {
                try {

                    videoView.setVideoPath(video2.getAbsolutePath());
                    /*videoView.setMediaController(mController);
                    mController.setMediaPlayer(videoView);*/
                    videoView.requestFocus();
                    videoView.start();

                } catch (Exception e) {
                    e.printStackTrace();

                }
                }
                else
                {Toast.makeText(MainActivity.this,"视频播放完毕",Toast.LENGTH_SHORT).show();}



            }

        });
    }



}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值