视频播放的心得体会(一)

  最近在做短视频播放的应用,为了实现比较好的交互体验,这边用到了缓存,预缓存处理。我这边用到的播放器是SJBaseVideoPlayer 这个库。首先要向这个开源库的作者表示感谢,感谢他贡献自己劳动成果。
  在实际应用中,我主要对播放器划分了三个层,交互控制层,播放层,缓存处理层。

交互控制层

  交互控制层,主要就是根据产品的需求做出对应的交互效果,UI效果。这边会因为具体的业务需求而经常发生改变。大家可以参考ZFPlayer的交互控制层。

播放层

  播放层主要处理播放的显示,声音,调节,快进,快退。自动播放,是否后台播放等等,与播放相关的事件,以及各种状态的监控。和UI关系不是特别的大。我这边用了SJBaseVideoPlayer这个开源库。由于这个开源用的缓存机制是通过创建额外的avplayer进行缓存。和我这边的观念不太符合。我这边进行了改造处理,主要就是只创建一个avplayer进行播放,不会创建多个,缓存的相关事情交给缓存处理层去处理。播放层只需要播放指定的资源即可。改造后的SJBaseVideoPlayer源码下载地址:https://github.com/xindizhiyin2014/JKVideoPlayer

缓存处理层

  缓存处理层,我这边主要是使用的唱吧的开源框架KTVHTTPCache这个框架非常的强大,不仅可以通过拦截播放器的网络请求进行缓存操作,还可以主动发起网络请求进行预缓存的操作。首先向作者表示崇高的敬意。关于KTVHTTPCache的用法大家可以网上搜索一下。在使用的过程中发现这个框架不能取消或者暂停正在进行的缓存操作处理。这个有点坑。我这边给作者提出了issue,希望作者有时间的话可以优化下。

大家对音视频感兴趣的,可以加入QQ交流群。
在这里插入图片描述
更多优质文章,可以微信扫码关注:
这里写图片描述

发布了231 篇原创文章 · 获赞 110 · 访问量 60万+

猜你喜欢

转载自blog.csdn.net/HHL110120/article/details/94853691