Android应用中怎么实现一个视频点播功能-创新互联
这篇文章给大家介绍Android应用中怎么实现一个视频点播功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

采用了本地代理服务的方式,通过原始url给播放器返回一个本地代理的一个url ,代理URL类似:http://127.0.0.1:57430/xxxx;然后播放器播放的时候请求到了你本地的代理上了。
- 本地代理采用ServerSocket监听127.0.0.1的有效端口,这个时候手机就是一个服务器了,客户端就是socket,也就是播放器。
- 读取客户端就是socket来读取数据(http协议请求)解析http协议。
- 根据url检查视频文件是否存在,读取文件数据给播放器,也就是往socket里写入数据。同时如果没有下载完成会进行断点下载,当然弱网的话数据需要生产消费同步处理。
优化点
1. 文件的缓存超过限制后没有按照lru算法删除.
Files类。
由于在移动设备上file.setLastModified() 方法不支持毫秒级的时间处理,导致超出限制大小后本应该删除老的,却没有删除抛出了异常。注释掉主动抛出的异常即可。因为文件的修改时间就是对的。
static void setLastModifiedNow(File file) throws IOException {
if (file.exists()) {
long now = System.currentTimeMillis();
boolean modified = file.setLastModified(now/1000*1000); // on some devices (e.g. Nexus 5) doesn't work
if (!modified) {
modify(file);
// if (file.lastModified() < now) {
// VideoCacheLog.debug("LruDiskUsage", "modified not ok ");
// throw new IOException("Error set last modified date to " + file);
// }else{
// VideoCacheLog.debug("LruDiskUsage", "modified ok ");
// }
}
}
} 名称栏目:Android应用中怎么实现一个视频点播功能-创新互联
标题来源:http://www.jxjierui.cn/article/piooe.html


咨询
建站咨询
