【Android 进阶】仿抖音系列之列表播放视频(三)

本文是【Android 进阶】仿抖音系列的第三篇,主要探讨如何解决列表播放视频时的高网络占用问题。通过集成 AndroidVideoCache 库实现边播边缓存,但发现同一视频会被多次缓存导致播放问题。通过分析 AndroidVideoCache 源码,找到问题出在 MD5 文件名生成器,提出通过截取原始路径作为缓存文件名的解决方案,从而优化缓存策略。
摘要由CSDN通过智能技术生成

在上一篇【Android 进阶】仿抖音系列之列表播放视频(二)中,我们实现列表播放视频,这一篇我们来对其做些优化。

当我们滑动列表播放视频时,如果你设置了状态栏显示网速的话,可以看到网速占用比较大,我们需要实现边播边缓存,下次播放时,就可以从缓存中取,减少网络使用。

Github上已经有现成的缓存库,我们只要集成进来就好,这是链接 AndroidVideoCache

1、创建MyApp 继承 Application,并在AndroidManifest.xml 中注册

2、在MyApplication 中添加代码,可以设置缓存路径、缓存大小等,这里用默认路径,配置缓存大小为1G。



    private HttpProxyCacheServer proxy;

    public static HttpProxyCacheServer getProxy(Context context) {
   
        MyApp app = (MyApp) context.getApplicationContext();
        return app.proxy == null ? (app.proxy = app.newProxy()) : app.proxy;
    }

    private HttpProxyCacheServer newProxy() {
   
        return new HttpProxyCacheServer.Builder(this)
                .maxCacheSize(1024 * 1024 * 1024)       // 1 Gb for cache
                .build();
    }

3、在MyVideoPlayer中,重写setUp 方法,这里需要注意的是,要做个判断,如果是本地视频的话,不使用代理

  @Override
    public void setUp(String url, int screen, Object.
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要实现Android仿视频播放,我们可以按照以下步骤行: 1. UI设计:首先,我们需要设计一个类似的主界面,包括一个短视频列表和一个底部的播放器控制栏。可以使用RecyclerView来展示短视频列表,每个列表项包括视频缩略图和标题等信息。 2. 视频数据获取:我们需要从服务器或本地获取短视频数据。可以通过接口请求获取视频列表数据,包括视频地址、封面图等信息。可以使用Retrofit、OkHttp等网络库来实现网络请求功能。 3. 视频播放:当用户点击某个视频时,我们需要将视频地址传递给视频播放界面播放。可以使用ExoPlayer等第三方库来实现视频播放功能,它提供了强大的视频解码和播放控制功能。 4. 播放器控制:在播放界面,我们需要实现播放、暂停、重播、度条、全屏等控制功能。可以使用MediaController等库来方便地实现这些功能。 5. 视频列表切换:用户可以在短视频列表中滑动切换下一个视频,可以使用ViewPager等控件实现列表的左右滑动切换,同时更新播放器界面的视频地址和相关信息。 6. 直播功能:如果我们希望模仿的直播功能,我们还需要使用类似于RTMP协议的推流和拉流技术来实现直播功能。可以使用FFmpeg等库来实现视频编码和流媒体传输。 以上就是Android仿视频播放的大致步骤。通过界面设计、数据获取、视频播放和控制等步骤,我们可以实现一个类似的短视频播放功能。当然,这只是整个过程的概述,具体的实现细节还需要根据具体需求行调整和完善。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值