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

代码链接

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

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

视频搜索

搜索

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

加入下载任务

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

视频投屏自动切换

自动投屏任务

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/317221.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python爬虫---scrapy shell 调试

Scrapy shell是Scrapy提供的一个交互式shell工具,它可以帮助我们进行爬虫的开发和调试。可以使用它来测试xpath或css表达式,查看它们是如何工作的,以及它们从你试图抓取的网页中提取的数据。它允许你在编写spider时交互地测试表达式&#xff…

set -e的作用

今天看人家代码看到一个很有意思的命令 后面我搜索了一下,感觉还是很好用的 set -e 是一个调试用的好东西 比如test.sh echo "执行第一个命令" cd /aaa/bbb echo "执行第二个命令"结果如下 可以看到第二个命令是执行了,虽然我的第…

stm32学习笔记:DMA

每个DMA通道硬件触发源是不一样的,要使用某个外设的硬件触发源,就必须使用它连接的那个通道 12个独立可配置的通道:DMA1(7个通道),DMA2(5个通道) 每个通道都支持软件触发和特定的硬件触发 C8T6 DMA资源:DMA1 &#xff…

陶瓷碗口缺口检测-图像形态学

图像形态学 对得到的灰度图像,需要进行二值化处理和区域填充。二值化涉及两个步骤,第一,对图像行图像分割,将图像分割成目标和和背景;第二,对分割后图像进行区域填充。本例中的背景为黑色,可以…

前端工程化相关

工具方法: 知道软件包名,拿到源码或者路径的方法 在浏览器输入以下内容,就可以找到你想要的。。。 unpkg.com/输入包名 一、模块化 ESM特性清单: 自动采取严格模式,忽略“use strict”每个ESM模块都是单独的私有作用…

x-cmd pkg | csvkit - csv 实用工具集

目录 介绍首次用户功能特点类似工具与竞品进一步阅读 介绍 csvkit 是一个用Python编写的工具包,用于处理CSV文件。该工具包提供了一组命令行工具,可用于转换、查询和分析CSV文件。csvkit的主要命令包括csvcut(用于选择特定列)、c…

又涨了:net的域名铁定涨价

关注卢松松,会经常给你分享一些我的经验和观点。 又要涨价了,又要涨价了,又要涨价了!继.com域名涨价后,.net的域名也逐步涨价。最近一年来域名疯狂涨价,几个月内已经几乎翻番。 阿里云2月1日起上调.net英文域名价格…

allegro PCB设计心得笔记(二) PCB板框设计心得

Cadence Allegro软件设计PCB板框时,使用Add -> line,在Option选择Board Geometry/Outline,根据PCB需要输入对应坐标,设计好板框。 使用Z-Copy命令设计Route Keepin和Package Keepin时,需要先使用使用Shape -> Co…

仿真验证方法(3)——物理验证

目录 一、物理验证的分类 二、DRC 2.1 设计规则 2.2 规则示例 2.3 线宽违例 2.4 间距违例 2.5 交叠违例 三、金属覆盖图形密度检查 四、天线比率检查 4.1 起因 4.2 计算 4.3 改进 五、LVS检查 六、物理验证常用的EDA工具 七、总结 一、物理验证的分类 对于物理验…

哪里能找到好用的PPT模板?12个免费模板网站让你畅快办公!

你是否有过这样的经历,在准备重要会议或者演讲的时候,为找不到合适的PPT模板而困扰?或是在网上漫无目的地搜寻,结果收获的是设计平淡无奇的PPT模板? 如果你有同样的疑问,那么你来对地方了!在这…

什么是有机搜索引擎优化以及如何入门

什么是有机搜索引擎优化? 有机搜索引擎优化,简称 SEO,是指从搜索引擎的无偿搜索结果中增加网站流量的做法。 未付费搜索结果是获得的列表,而不是付费的。 这样做的目的是让您的网页在与您业务相关的未付费搜索结果中排名靠前。…

高级路由技术案例

文章目录 案例项目一:1、静态ECMP和浮动静态路由配置实验2、浮动静态路由配置 案例项目二:使用filter-policy过滤路由案例项目三:IS-IS基本配置案例项目四:OSPF基本配置案例任务一:OSPF单区域配置案例任务二&#xff1…

蓝桥杯单片机进阶教程4——需要分配进程的模块

前言: 【蓝桥杯单片机保姆级教学】 https://www.bilibili.com/video/BV1h3411m7Aw/?p117&share_sourcecopy_web&vd_sourcec4fc67867c5218768e783d04475bc5a2 P117-118 比赛的时候也按照这个顺序来写 一、数码管显示 分析考题 (1)…

【LeetCode每日一题】2182. 构造限制重复的字符串

2024-1-13 文章目录 [2182. 构造限制重复的字符串](https://leetcode.cn/problems/construct-string-with-repeat-limit/)思路: 2182. 构造限制重复的字符串 思路: 按照字符出现次数从高到低的顺序进行重复,通过维护一个指针 j 来寻找下一个…

【python】进阶--->MySQL数据库(二)

一、sql语句(结构化查询语言) 要和数据库进行交互,需要使用到数据库认识的语言 : sql语句 是关系型数据库都需要遵循的规范。不同数据库都支持sql语句,但是都有特有内容。 二、sql语句分类 数据定义语言 : 用来定义数据库–数据库,表,列. 数据操作语言 : 对数据库表中的记录进…

Modbus协议学习第一篇之基础概念

什么是“协议” 大白话解释:协议是用来正确传递消息数据而设立的一种规则。传递消息的双方(两台计算机)在通信时遵循同一种协议,即可理解彼此传递的消息数据。 Modbus协议模型 Modbus协议模型较为简单,使用一种称为应用…

Colab 谷歌免费的云端Python编程环境初体验

最新在学习AIGC的过程中,发现很多教程,demo使用到了Colab这个谷歌工具。 Colab 是什么? Google Colab是一个强大且免费的云端Python编程环境,为学生、研究人员和开发者提供了一个便捷的平台来开展数据科学、机器学习和深度学习项…

力扣(leetcode)第500题键盘行(Python)

500.键盘行 题目链接:500.键盘行 给你一个字符串数组 words ,只返回可以使用在 美式键盘 同一行的字母打印出来的单词。键盘如下图所示。 美式键盘 中: 第一行由字符 “qwertyuiop” 组成。 第二行由字符 “asdfghjkl” 组成。 第三行由字…

桌面显示器type-c接口方案6020

TYPE-C接口桌面显示器,与传统的显示器不同的是 新一类的显示器不仅仅支持视频传输,还可以利用显示器的DC电源转成PD协议充电给设备端(笔记本,任天堂等HOST设备)充电。 这种新型的TYPE-C接口桌面显示器,不仅…

C++核心编程之类和对象---C++面向对象的三大特性--继承

目录 一、继承 1. 继承的概念 2. 继承的定义 3. 类与类之间的关系 4. 继承的两类关系 二、继承方式的基本语法 总而言之,父类的私有内容,子类是访问不到的。 三、继承中的对象模型 父类中的私有属性被编译器隐藏,访问不到&#xff0c…