当前位置: 首页 > news >正文

Flutter 电视投屏模块

前言

村里的老人说:“珍爱生命,远离低头族。

之前开发的一个 DIM 项目 Tarsier,里面有一个分享视频的功能,同时包含在线视频播放、电视直播等。
考虑到用户在手机上看视频的体验问题,需要增加一个投屏功能,以便用户可以电影、电视直播等投到电视上用大屏幕观看。

用了一段时间,觉得效果还不错,特此分享一下。

依赖引入

在网上搜索了一通 Flutter 的投屏库,找了一个全平台支持(Android、iOS、MacOS、Windows等)的第三方库 ```castscreen```,经验证确实方便可用。所以这里我就以 ```castscreen``` 这个库为例。
首先编辑项目文件 ```pubspec.yaml``` 以添加必要的依赖:

dependencies:castscreen: ^1.0.2
#  lnc: 0.1.2
#  startrek: 0.4.2

核心模块代码

要投屏相关的功能,我们需要定义一个 ScreenDevice 接口,然后再定义 ScreenDiscoverer 和 ScreenManager 来对扫描到的设备进行管理。

Screen Device

这个接口定义了一个屏幕设备应有的属性,以及关键的函数接口。

/// Castable Device
abstract interface class Scree

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 单例模式(java)
  • jupyter notebook魔法命令
  • Phpstorm实现本地SSH开发远程机器(或虚拟机)项目
  • Java并发—ReetrantLock详解
  • 拷贝函数promax讲解
  • 决策树总结
  • 分布式项目中,Zookeeper、Nacos和Eureka作为注册中心
  • RabbitMQ消费者消费消息失败处理
  • 树莓派NAS系统搭建教程:使用Flask和SQLite实现HTTP/HTTPS文件管理(代码示例)
  • 主从Reactor模式 任务池提高请求处理效率分析
  • 网站证书过期怎么恢复正常?
  • 代码随想录算法训练营第三十六天 | 动态规划 part04
  • 海外社媒账号如何让防关联?账号隔离的5大要点
  • 【web安全】权限漏洞之未授权访问
  • MacOS打开应用后反复提示“XXX将对你的电脑造成伤害。你应该将它移到废纸篓”的解决办法
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • 2017届校招提前批面试回顾
  • Codepen 每日精选(2018-3-25)
  • Django 博客开发教程 16 - 统计文章阅读量
  • Java编程基础24——递归练习
  • java第三方包学习之lombok
  • Ruby 2.x 源代码分析:扩展 概述
  • SpingCloudBus整合RabbitMQ
  • Spring-boot 启动时碰到的错误
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 如何借助 NoSQL 提高 JPA 应用性能
  • 新书推荐|Windows黑客编程技术详解
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • ​520就是要宠粉,你的心头书我买单
  • ‌JavaScript 数据类型转换
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (2)STL算法之元素计数
  • (vue)el-tabs选中最后一项后更新数据后无法展开
  • (WSI分类)WSI分类文献小综述 2024
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • ***测试-HTTP方法
  • .cfg\.dat\.mak(持续补充)
  • .NET CLR Hosting 简介
  • .NET 材料检测系统崩溃分析
  • .net 发送邮件
  • .NET 中选择合适的文件打开模式(CreateNew, Create, Open, OpenOrCreate, Truncate, Append)
  • .NET未来路在何方?
  • .skip() 和 .only() 的使用
  • .so文件(linux系统)
  • @RunWith注解作用
  • @德人合科技——天锐绿盾 | 图纸加密软件有哪些功能呢?
  • [ A*实现 ] C++,矩阵地图
  • [ACP云计算]易混淆知识点(考题总结)
  • [AIGC 大数据基础]hive浅谈
  • [C++][opencv]基于opencv实现photoshop算法可选颜色调整
  • [codevs 1515]跳 【解题报告】
  • [GN] DP学习笔记板子