安卓TV开发之实现原生播放器

安卓有很多第三方的播放器,比如最强大的ijkPlayer和最全能的Vitamio播放器,如果是手机APP开发,可以直接拿过来用。但是TV APP开发不行,因为电视盒子的高定制性,兼容性很差,比手机上差很多,这个是我在20+盒子上测试的结果。这中间各种调试,各种参数修改,按下葫芦浮起瓢,经历了无数的噩梦。

最后,不得已,只好抱着试一试的态度,实现原生的播放器。结果在所有盒子上,完美适配,简直了。后来才知道,盒子里的芯片在视频播放这块做了修改和增强,所以调用系统原生API实现的播放器反而兼容性更好。

其实实现原生的播放器并不难,VideoView和MediaPlayer+SurfaceView这两中方式都可以。VideoView实现更简单,MediaPlayer+SurfaceView功能更强大,这里选择后者。

虽然调用系统API实现原生播放器来播放一个视频很简单,但是一个离比较完善的播放器还是很远。除了基本的播放,还有显示很多信息,包括当前播放时间,总时间,播放进度条,缓冲进度条,播放/暂停,快进/快退,已经最后的封装等。还有其他细节,比如加载视频前几秒最好不要快进/快退操作,进度条隐藏/显示的控制。

先看实现效果:

工程结构比较简单,只有一个主类调用工具类。核心目录如下:

 

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值