Android ExoPlayer 缓存与播放功能实现

ExoPlayer是Google开发的Android平台的播放器,功能强大,它提供了 Android 的 MediaPlayer API 的替代方案,用于在本地和 Internet 上播放音频和视频,支持视频缓存与离线播放。

源码联系我V  Runbo_Better

github:https://github.com/google/ExoPlayer

官方文档:ExoPlayer

完整库引入:

implementation 'com.google.android.exoplayer:exoplayer:2.X.X'

或者按需引入:

implementation 'com.google.android.exoplayer:exoplayer-core:2.X.X'
implementation 'com.google.android.exoplayer:exoplayer-dash:2.X.X'
implementation 'com.google.android.exoplayer:exoplayer-ui:2.X.X'
  • exoplayer-core: Core functionality (required).
  • exoplayer-dash: Support for DASH content.
  • exoplayer-hls: Support for HLS content.
  • exoplayer-rtsp: Support for RTSP content.
  • exoplayer-smoothstreaming: Support for SmoothStreaming content.
  • exoplayer-transformer: Media transformation functionality.
  • exoplayer-ui: UI components and resources for use with ExoPlayer.

我已将完整的操作视频上传到了如下链接:Android-ExoPlayer缓存视频与离线播放功能(如需代码请联系作者)_哔哩哔哩_bilibili

视频内容大致如下:

1.展示视频列表,获取视频当前缓存状态(未缓存、已缓存)

2.点击缓存按钮开始缓存,缓存过程中页面和通知栏显示百分比,缓存完成后对应状态变为已缓存

3.缓存完成后,进入播放页面,断掉所有网络测试离线播放功能

缓存后的文件如图:

由此可见,缓存的视频并不是一个可以直接播放的视频文件,例如xxx.mp4,而是一堆文件,只能由ExoPlayer才能解码播放,就类似一些音乐软件一样的道理,下载的歌曲并不能直接播放,必须打开app才能解码播放。可不要以为文中提到的缓存只是下载了视频源文件然后再进行播放。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Code王工

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值