Android使用VideoView播放视频

本文详细介绍了如何在Android应用中使用MediaController类来控制VideoView的全屏播放,包括XML布局设置、Java代码实例和异常处理。通过步骤演示,读者将学会如何播放视频并添加播放完成提示功能。

1.流程

正常流程如下,但是一般使用MediaController类直接使用。

2、实例

https://www.bilibili.com/video/BV1jW411375J?p=150&spm_id_from=pageDriver

2.1、xml

 <VideoView
        android:id="@+id/video"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

2.2、Java 

 //设置全屏显示
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);

        VideoView video = (VideoView) findViewById(R.id.video);            //获取VideoView组件

        //指定模拟器SD卡上要播放的视频文件
        File file = new File(Environment.getExternalStorageDirectory() + "/video.mp4");
        MediaController mc = new MediaController(MainActivity.this);     //创建android.widget.MediaController对象,控制视频的播放

        //实现视频的播放功能
        if (file.exists()) {                                    //判断要播放的视频文件是否存在
            video.setVideoPath(file.getAbsolutePath());       //指定要播放的视频
            video.setMediaController(mc);                  //设置VideoView与MediaController相关联
            video.requestFocus();                         //让VideoView获得焦点
            try {
                video.start();                             //开始播放视频
            } catch (Exception e) {
                e.printStackTrace();                       //输出异常信息
            }

            //为VideoView添加完成事件监听器,实现视频播放结束后的提示信息
            video.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
                @Override
                public void onCompletion(MediaPlayer mp) {
                    //弹出消息提示框显示播放完毕
                    Toast.makeText(MainActivity.this, "视频播放完毕!", Toast.LENGTH_SHORT).show();
                }
            });
        } else {
            //弹出消息提示框提示文件不存在
            Toast.makeText(this, "要播放的视频文件不存在", Toast.LENGTH_SHORT).show();
        }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值