HarmonyOS AvPlayer支持缓存吗

视频播放页,目前因为没有本地缓存,所以每次播放视频都需要先Loading一会儿才能播放,体验不佳。

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

目前只能自行实现AVPlayer缓存,请参考:

1.创建一个沙箱文件,并获取沙箱文件的readFd和writeFd。

2.通过.new rcp.Request(DOWNLOAD_URL)创建网络下载请求request,配置request的TracingConfiguration,在onDataReceive回调中通过fs.writeSync传入沙箱文件的writeFd将下载的数据流写入本地沙箱文件,将fs.writeSync返回写入字节大小作为网络下载大小downloadSize,根据downloadSize和下载大小(默认1024*1024字节,AVPlayer默认缓存为1M)配置request的transferRange属性,控制网络下载的起始字节和结束字节。

3.通过RCP的session.fetch传入request下载获取网络视频资源。

4.配置AVPlayer的datasrc属性,在datasrc的回调函数中,通过fs.readSync传入沙箱文件的readFd将沙箱文件的数据写入内存buffer,沙箱文件大小为0时开启网络下载,当pos(表示填写的数据在资源文件中的位置)小于沙箱文件100kb时,再次开启网络下载进而实现分段下载,该回调函数在AVPlayer解析数据时触发,在边下边播的场景中,会不断触发该回调

5.设置AVPlayer播放资源。将datasrc设置给AVPlayer。

分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS Image 组件支持加载缓存
122浏览 • 1回复 待解决
HarmonyOS AVPlayer支持系统小窗播放
211浏览 • 1回复 待解决
HarmonyOS Image组件是否支持缓存
362浏览 • 1回复 待解决
HarmonyOS Image 组件有缓存功能
566浏览 • 1回复 待解决
HarmonyOS AVPlayer XComponent
411浏览 • 1回复 待解决
HarmonyOS AVPlayer 静音
173浏览 • 1回复 待解决
HarmonyOS AVPlayer 播放问题
949浏览 • 1回复 待解决
HarmonyOS AVPlayer API问题
9浏览 • 1回复 待解决
HarmonyOS 支持VPN
110浏览 • 1回复 待解决
HarmonyOS AVPlayer的问题
504浏览 • 1回复 待解决
HarmonyOS AVPlayer设置surfaceId报错
89浏览 • 1回复 待解决
HarmonyOS 关于获取缓存与清除缓存
172浏览 • 1回复 待解决
HarmonyOS mask支持渐变
164浏览 • 1回复 待解决