android videoview播放器

VideoView播放器播放网络视频自带预加载而MediaPlayer做预加载操作的时候需要处理的东西还是挺多的,而且实现过程和SurfaceView+MediaPlayer用的要少的少 处理起来方便下面贴代码

    videoView.setVideoPath("你的路径");

        videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
            @Override
            public void onPrepared(MediaPlayer mediaPlayer) {
                mediaPlayer.setLooping(true);
                videoView.start();
                Toast.makeText(MainActivity.this,"START",Toast.LENGTH_SHORT).show();
            }
        });

简单的播放器就这样完成了 ,VideoView还可以配合MediaController使用做出一个带进度条MediaController用dispatchKeyEvent来进行回退 快进 上或者下一部视频选择(需要额外处理) 还有的是 暂停 继续是本身就有的  


VideoView+MediaController代码

 <span style="white-space:pre">	</span>mediaController=new MediaController(this);
        videoView.setVideoPath(SDCard.getSDCardPath()+"/my_video_file_one.mp4");
        videoView.setMediaController(mediaController);
        videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
            @Override
            public void onPrepared(MediaPlayer mediaPlayer) {
                mediaPlayer.setLooping(true);
                videoView.start();
                Toast.makeText(MainActivity.this,"START",Toast.LENGTH_SHORT).show();
            }
        });
        mediaController.setMediaPlayer(videoView);
        mediaController.requestFocus();
        mediaController.show(2000);//控制几秒后自动隐藏

代码相比也就是多了几行 初始化获取上下文 然后把他们两绑定

使用的时候有没有发现 有些视频不是全屏播放 即使设置了fill-parent也是这样 这时候我们就需要添加一个类 继承VideoView 然后在类中添加一个方法

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
    {
        int width = getDefaultSize(0, widt);
        int height = getDefaultSize(0, heigh);
        setMeasuredDimension(width , height);
    }

这样就能做到全屏的播放了

关于播放网络视频

URI uri=URI.parse("网络地址");

只需要把.setVideoPath改成.setVideoURI即可

Demo地址:点击打开链接

这个Demo播放网络视频的地址是youtube的 所以你们需要改成国内的视频地址 或者使用vpn播放

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值