android - 使用 CacheUtil 进行 HLS 缓存
问题描述
我们使用 Exoplayer 2.9.4 和 HLS 视频格式。尝试使用 CacheUtil 的缓存方法手动缓存下一个视频时,会发生 EOFException,但它在 mp4 上运行良好。可能是因为缓存播放列表文件而不是视频文件。问题是是否可以使用 CacheUtil 来缓存 HLS 格式?如果没有,我们应该使用什么?
这是一个测试项目:
从设备捕获的完整错误报告
com.google.android.exoplayer2.upstream.HttpDataSource$HttpDataSourceException: java.io.EOFException at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.read(DefaultHttpDataSource.java:362) at com.google.android.exoplayer2.upstream .cache.CacheDataSource.read(CacheDataSource.java:304) 在 com.google.android.exoplayer2.upstream.TeeDataSource.read(TeeDataSource.java:71) 在 com.google.android.exoplayer2.upstream.cache.CacheDataSource.read (CacheDataSource.java:304) 在 com.google.android.exoplayer2.upstream.cache.CacheUtil.readAndDiscard(CacheUtil.java:307) 在 com.google.android.exoplayer2.upstream.cache.CacheUtil.cache(CacheUtil.java :203) 在 com.google.android.exoplayer2.upstream.cache.CacheUtil.cache(CacheUtil.java:124) 在 com.example.hlscachesample.SimpleVideoPreCacher$cache$1.run(SimpleVideoPreCacher.kt:42) 在 java.util 。同时。ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) at java.lang.Thread.run(Thread.java:760) 原因:java.io .EOFException at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.readInternal(DefaultHttpDataSource.java:700) at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.read(DefaultHttpDataSource.java:360) ... 10 更多还有 10 个还有 10 个
解决方案
推荐阅读
- c# - c# wpf进度条在不同的窗口
- r - dplyr:根据分组创建新变量
- php - preg_match 检测到特定字符后从字符串中获取特定数字
- google-cloud-ml - Google ML Engine:通过 REST API 提交训练作业
- logging - Wildfly Swarm 中的重复登录
- python - 调整神经网络参数
- php - 在系统中从 .env 或 ENV 设置服务类
- c# - 将数据从 Unity (C#) 发布到服务器 (PHP)。每个部分都可以自己工作,但不能一起工作
- angular - 在输入中的每 4 位后添加空格
- multithreading - 玩 Scala 和线程安全