在EasyPlayerPro上实现一键平稳切换视频源的功能

经常会遇到这样的需求,播放器支持动态切换视频源.典型的应用就是在电视上切换频道了.

市面上的播放器,在切换视频源时,可能需要将当前播放器release,再创建新的来进行加载,这样基本都存在闪一下黑屏的问题,个人感觉不是很好.那如何使得这两个视频平稳过度呢,比如在先一个视频未渲染之前,先停留在前一段视频的最后一帧画面(或许再加上个磨砂效果),会不会更好些?

下面就简单介绍一下实现原理与方法.

原理就是给视频播放界面加一个ImageView遮罩,在平时隐藏,切换的过程显示,并把视频最后一针画面保存到bitmap,然后在遮罩上显示这个bitmap;等后一个视频出来时候,在把遮罩隐藏之~

代码片段如下,不再详说,请参考注释:

  • 切换视频源
        if (mRenderView != null) {
  // 不为null,表示之前有渲染过视频,表示这里是视频切换而不是初始播放.
        //这里是切换视频源时的逻辑.切换视频源的时候,需新建一个player实例进行播放
            if (mRenderView instanceof TextureView){
                // 获取最后一针图像,并且保存成bitmap,以供遮罩显示.
                Bitmap bmp = ((TextureView) mRenderView).getBitmap();
                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值