java实现局域网内视频投屏播放(五)视频搜索和投屏自动切换下一个

代码链接

这次对ui做了一些调整,整体分成了5个类别分别为

  1. 搜索设备
  2. 播放任务
  3. 已下载视频列表
  4. 视频搜索
  5. 下载任务列表

java实现局域网内视频投屏播放(五)视频搜索和投屏自动切换下一个_第1张图片

视频搜索

搜索

点击搜索后,会从执行所有VideoResolver实现类的search方法,将搜索到的结果汇总到一起,根据视频的来源做汇总,这个搜索是实时搜索的第三方视频网站,我们本地不做任何数据落地

java实现局域网内视频投屏播放(五)视频搜索和投屏自动切换下一个_第2张图片

加入下载任务

点击加入下载任务后,会把下载任务加入到一个列表tsAsyncTaskList中,会有一个守护线程不停的扫描这个列表,对里面的任务执行下载操作,前台每一秒请求一次后台获取下载的进度,具体逻辑在com.microcosm.homer.service.impl.VideoServiceImpl#executeTsAsyncTask中

java实现局域网内视频投屏播放(五)视频搜索和投屏自动切换下一个_第3张图片

视频投屏自动切换

自动投屏任务

在已下载的视频列表中点击加入播放任务,就会加入到播放队列中,设置好后点击投屏,后台就会投屏这个队列的第一个视频,并且订阅了设备的事件,同时用一个守护线程不断的续订,防止过期,等设备播放完视频后,会在回调接口中传一个STOPPED事件,我们的服务收到这个事件后,就投屏队列的下一个视频。前台也会轮询一个播放任务接口,获取最新的还未投屏的视频任务。核心逻辑在com.microcosm.homer.service.DeviceService#playPlayTask中

java实现局域网内视频投屏播放(五)视频搜索和投屏自动切换下一个_第4张图片

你可能感兴趣的:(扩展屏应用开发,爬虫)