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

Miracast投屏探索


Miracast是一种Wi-Fi Alliance推出的无线显示技术,允许在支持Miracast标准的设备之间进行屏幕镜像和内容共享。在Miracast技术中,通常会涉及到两种角色:Source(发送端)和Sink(接收端)。
Source(发送端):Source端通常是指将内容发送到显示设备的设备,比如手机、平板电脑或电脑。Source端负责将自己的屏幕内容发送给Sink端。
Sink(接收端):Sink端通常是指接收并显示来自Source端的内容的设备,比如电视、投影仪或显示器。Sink端接收并显示来自Source端的内容。
在Miracast中,通常来说,一个设备要么是Source,要么是Sink,它们之间通过Wi-Fi直连进行通信。Source端向Sink端发送屏幕内容,然后Sink端显示该内容。
根据Miracast的设计,Sink端通常不具备作为发送端的功能,因为Sink端的主要责任是接收和显示内容。如果你需要在某个设备上实现同时作为Source和Sink的功能(即既可以发送内容也可以接收内容),可能需要考虑其他技术或方案。
总的来说,在一般的Miracast场景中,Sink端通常不作为发送端。如果你有特殊需求,可能需要寻找其他支持双向功能的技术或方案。


如何将android miracast sink端同时具有source端的能力?
在一般情况下,Miracast技术设计上将Source端和Sink端功能分开,一个设备通常只能扮演其中一个角色。然而,如果你有特殊需求想要在Android设备上实现Miracast Sink端同时具有Source端的能力,你可能需要考虑以下几种方案:
使用支持双向功能的硬件:一些高级的Miracast适配器或设备可能支持双向功能,即可以既作为Source端又作为Sink端。你可以尝试寻找这样的设备来实现你的需求。
定制开发:如果你有开发资源,并且对Android系统有深入了解,你可以尝试进行定制开发。通过修改系统设置或编写定制的驱动程序,可能可以实现将Android设备同时作为Miracast Sink端和Source端。
使用第三方应用或固件:有些第三方应用或固件可能提供了将Android设备同时作为Miracast Sink端和Source端的功能。你可以搜索一些第三方的Miracast应用或固件,在这些应用中可能会提供额外的功能。
需要注意的是,在进行这样的定制或修改时,可能会涉及到一定的技术挑战和风险,包括可能违反厂商的授权协议或导致设备不稳定等问题。在尝试这些方法之前,请务必谨慎操作,并确保明白自己的行为可能带来的后果。

如果仅仅想要具有source端的能力,作为一个手机制造商,我应该怎么样实现?
作为手机制造商,如果你希望你的Android手机具有Miracast Source端的能力,你可以考虑以下几种方法:

集成Miracast功能到手机固件中:在制造手机时,你可以将Miracast功能集成到手机的固件中。这需要在手机的系统级别上实现Miracast协议的支持,确保用户可以轻松地使用手机将内容发送到支持Miracast的显示设备上。
优化硬件支持:确保手机的硬件能够支持Miracast所需的无线传输和显示功能。这可能需要在手机设计阶段考虑到硬件支持Miracast的需求,并选择合适的无线芯片组或者其他硬件组件。
提供易用的用户界面:在手机的操作界面中提供易用的Miracast功能入口,让用户可以方便地启动Miracast连接并将手机的屏幕内容发送到外部显示设备上。
测试和认证:在手机设计和制造完成后,进行充分的测试和认证,确保Miracast功能的稳定性和可靠性。这包括对Miracast连接的稳定性、画质和音频传输的质量等方面进行测试。
持续更新和支持:随着技术的发展和用户需求的变化,持续更新手机的固件和软件,以确保Miracast功能的兼容性和性能得到不断改进,并提供及时的技术支持和维护。
通过以上方法,你可以将Miracast Source端功能集成到你的Android手机中,为用户提供更加丰富和便利的无线显示体验。


猜测:
wifi的问题也有可能。
底层直接进行编码投屏的功能不知道有没有。
硬件肯定是有,协议什么的也有。

sink端的框架层miracast与source端的框架层一样吗?
在Miracast技术中,Source端和Sink端在框架层(Framework Layer)上通常并不完全相同,因为它们在功能和角色上有所区别。虽然它们都需要遵循Miracast协议规范来实现相应的功能,但在具体的实现上可能存在一些差异。

在Android系统中作为Miracast Source端和Sink端的实现中,通常会使用不同的框架组件来支持各自的功能:

Source端:
在Source端,通常会涉及与屏幕内容捕获、编码、网络传输等相关功能的框架组件。例如,在Android系统中,可以使用MediaCodec进行视频编码,使用Wifi Display等框架组件来实现Miracast协议的支持。
Sink端:
在Sink端,通常会涉及接收、解码、渲染以及显示等功能的框架组件。例如,在Android系统中,可以使用MediaCodec进行视频解码,使用SurfaceView或其他显示框架来展示解码后的视频内容。
虽然两端可能会使用不同的框架组件来实现各自的功能,但它们必须遵循Miracast协议以确保端到端的兼容性和互操作性。此外,在Android系统中,通常会借助系统提供的一些API和框架来简化Miracast功能的实现,如Wifi Display API等。
总的来说,Source端和Sink端在框架层的实现可能有所差异,但都需要遵循Miracast协议规范,并通过相应的框架组件来实现各自的功能以支持无线显示和传输。

wifi display是什么?
WiFi Display(无线显示)是一种无线传输技术,它允许用户将手机、平板电脑、笔记本电脑等移动设备上的内容(如视频、音频、图像等)通过无线网络传输到外部显示设备(如电视、投影仪)上进行显示。WiFi Display技术通常用于实现类似Miracast的屏幕镜像功能,让用户可以方便地分享设备上的内容并扩展显示屏幕。
通过WiFi Display技术,用户可以在不需要使用有线连接的情况下,将手机或其他设备上的内容实时投射到支持WiFi Display的外部显示设备上,从而实现更便捷的影音分享和扩展屏幕功能。WiFi Display技术通常基于WiFi网络进行数据传输,因此用户需要确保设备和外部显示设备连接在同一无线网络下,以实现稳定的数据传输和流畅的显示效果。
在Android系统中,WiFi Display技术通常通过WiFi Display API来实现,提供了一套接口和框架用于支持Miracast功能的实现。用户可以通过系统设置或特定应用程序启用WiFi Display功能,并选择要连接的外部显示设备,从而实现设备内容的无线投射和显示。
总的来说,WiFi Display技术为用户提供了一种便捷的无线显示方式,让用户可以轻松地分享和扩展设备内容,提升用户体验和实用性。


WiFi Display技术原理,它在android系统源码中包含吗?是以怎样的形式供使用的?
WiFi Display技术的原理主要涉及设备之间的无线传输和显示,通常基于Miracast协议进行实现。在Android系统源码中,WiFi Display技术是以一系列API、框架和驱动程序的形式进行包含和提供的。
具体来说,Android系统源码中包含了用于支持WiFi Display技术的API、框架和驱动程序,主要包括以下几个方面:
WiFi Display API:Android系统中提供了WiFi Display API,作为应用程序与系统进行交互的接口。通过这些API,应用程序可以发起对外部显示设备的连接、启动屏幕镜像和停止镜像等操作。这些API通常位于android.net.wifi包或相关的网络通信包中。
框架支持:Android系统框架中提供了一些用于处理WiFi Display相关功能的类和模块,如WifiDisplayManager、MediaProjectionManager等。这些类和模块用于管理WiFi Display会话、处理屏幕捕获和编码、以及与外部显示设备的通信等功能。
驱动程序支持:在底层,Android系统的WiFi Display功能需要硬件的支持,因此相应的驱动程序也会包含在系统源码中。这些驱动程序通常负责处理无线网络连接、视频数据的编码和传输等底层操作。
Android系统源码中提供了上述的API、框架和驱动程序,以便开发者和设备制造商可以利用这些功能来实现WiFi Display技术。开发者可以通过使用系统提供的API来开发支持WiFi Display功能的应用程序,而设备制造商可以根据需要对底层的驱动程序和框架进行定制和优化,以确保WiFi Display功能在特定设备上的稳定性和兼容性。
总的来说,Android系统源码中包含了WiFi Display技术所需的API、框架和驱动程序,以便开发者和制造商可以利用这些功能来实现无线显示和传输的功能。


wifiDispaly是什么?
https://zhuanlan.zhihu.com/p/387006998
EZCast,外接硬件实现无线远距离投屏。
https://www.zhihu.com/tardis/zm/art/650609008?source_id=1005
android中的 miaracast工作原理:一个基于wifi direct技术网络应用。
https://blog.csdn.net/innost/article/details/8474683

原生的android系统有wifi display的设置选项吗?
android原生代码有wifi display 进行投屏的功能吗?
Android 原生代码提供了支持 Wi-Fi 显示(Wi-Fi Display)的功能,也被称为 Miracast。Miracast 是一种通过 Wi-Fi 连接实现屏幕镜像和投屏的技术标准,允许用户将设备的屏幕内容无线传输到支持 Miracast 的显示设备,比如电视或投影仪。
在 Android 设备上,你可以通过系统设置中的“投射”选项来使用 Miracast 功能。具体步骤可能会因 Android 版本和设备型号而有所不同,但通常的步骤是:
打开设备的设置应用。
找到“连接”、“网络”或类似的选项。
在连接选项中查找“投射”、“Miracast”或类似的子选项。
启用“投射”功能,并搜索附近的支持 Miracast 的显示设备。
选择要连接的设备并建立连接,然后你的设备屏幕内容就会在外部显示设备上显示。
需要注意的是,并非所有的 Android 设备都支持 Miracast,而且有些设备可能会将该功能集成在自定义的投屏应用程序中。如果你的设备支持 Miracast,通常可以通过系统设置直接使用该功能。如果设备不支持 Miracast,你可能需要考虑使用第三方应用程序来实现类似的投屏功能。
总的来说,Android 原生代码支持 Wi-Fi 显示(Miracast)功能,但具体的实现方式可能因设备和系统版本而异。希望这个回答对你有所帮助。如有其他问题,请随时提出。


再次思考:
有可能是因为系统设置中没有投射,那么这种情况就需要第三方程序了。估计实现时免不了与系统权限打交道。还有wifi direct,视频编解码等,估计非常复杂。
那么就只能希望厂家把功能集成进来了。
这是最好的方式了。还有下下策,那就是第三方投屏sdk,比如乐播啥的。


--------------

androdi设置里面为什么既有投屏的选项,而且自己开发app时还能通过android.setting.cast跳转到投射页面,这两者有什么关系吗?
在 Android 设置中的投屏选项和通过 android.settings.cast 跳转到投射页面这两者之间有一定的关联,但并不完全相同。让我们来解释一下它们之间的关系:
投屏选项在设置中:
Android 设备的设置界面通常会包含一个“投屏”或“投射”选项,用于管理设备与外部显示设备(比如电视或投影仪)之间的屏幕镜像和投屏功能。通过这个选项,用户可以查找、连接和管理与设备的投射设备。这个选项提供了一个方便的界面,让用户能够直接控制设备的投屏功能。
通过 android.settings.cast 跳转到投射页面:
通过 android.settings.cast 这个 Intent 可以直接跳转到 Android 设备的投射设置页面,而不需要用户手动导航到设置中进行操作。这个 Intent 的作用类似于一种快捷方式,让开发者能够在自己的应用程序中提供一个按钮或链接,让用户可以快速访问设备的投屏设置界面。
虽然这两个功能都涉及到设备的投屏功能,但它们的角色不同:一个是系统设置中的用户界面,另一个是开发者可以在应用中使用的 Intent。开发者可以通过在自己的应用中触发 android.settings.cast Intent 来帮助用户快速访问设备的投屏设置页面,提供更好的用户体验。
总的来说,投屏选项在设置中提供了用户操作设备投屏功能的界面,而通过 android.settings.cast Intent 则是开发者在应用中提供的一种快捷方式,让用户可以直接跳转到设备的投屏设置页面。两者相辅相成,为用户提供了更便捷的管理设备投屏功能的方式。希望这个解答能帮助你理解它们之间的关系。如果有任何疑问,请随时告诉我。

接上例,系统设置中的投屏与开发程序时可以跳转到的投射界面本质上的实现有什么区别吗?
系统设置中的投屏选项和开发程序时可以跳转到的投射界面本质上的实现有一些区别,主要体现在以下几个方面:
功能定位:
系统设置中的投屏选项是为用户提供方便的界面,让他们可以直观地管理设备的投屏功能,包括搜索、连接和断开外部显示设备等操作。
开发程序时可以跳转到的投射界面是为了让应用程序能够快速引导用户到设备的投屏设置页面,通常用于特定场景下需要用户进行投屏设置的应用程序中。
访问权限:
系统设置中的投屏选项是系统级的功能,需要相应的权限和系统支持才能操作设备的投屏功能。
开发者通过 Intent 跳转到投射界面时,是利用系统提供的 Intent 功能来触发打开设备的投屏设置页面,开发者无需直接管理设备投屏功能的权限和实现细节。
用户交互:
系统设置中的投屏选项通常提供了更丰富的用户交互和管理功能,使用户可以灵活地控制设备的投屏操作。
开发程序时可以跳转到的投射界面则是为了在应用内部提供一个便捷的方式,让用户可以直接访问设备的投屏设置,而不需要手动导航到系统设置中查找。
总的来说,系统设置中的投屏选项和开发程序时可以跳转到的投射界面在实现上的本质区别主要在于功能定位、访问权限和用户交互方面。系统设置提供了全面的设备投屏管理功能,而开发者可以利用 Intent 在应用中快速引导用户到设备的投屏设置页面,以提供更好的用户体验。希望这个回答对你有所帮助。如有其他问题,请随时提出。
-------------------
结论:
开始的板子上可能是由于设置中本就没有投屏的选项,所以投射哪个快捷方式也没用。还有可能是wifi没有打开的原因。        而后面的板子上更没有所谓的投屏,投射页面,所以app才打不开对应的页面。

相关文章:

Miracast投屏探索

Miracast是一种Wi-Fi Alliance推出的无线显示技术,允许在支持Miracast标准的设备之间进行屏幕镜像和内容共享。在Miracast技术中,通常会涉及到两种角色:Source(发送端)和Sink(接收端)。 Source&…...

2024年幻兽帕鲁服务器优惠价格表手动整理,最全报价

2024年全网最全的幻兽帕鲁服务器租用价格表,阿里云幻兽帕鲁游戏服务器26元1个月、腾讯云32元一个月、京东云26元一个月、华为云24元1个月,阿腾云atengyun.com整理最新幻兽帕鲁专用4核16G、8核16G、8核32G游戏服务器租用价格表大全: 阿里云幻…...

使用Python自动备份重要文件:一步一步的教程

目录 1 重要性说明1.1 数据丢失的风险1.2 自动化备份的好处1.3 提高数据安全性和恢复力 2 工具和技术简介2.1 os库2.2 shutil库2.3 glob库2.4 pathlib库 3 备份策略设计3.1 全备份3.2 增量备份3.3 差异备份3.4 根据需求选择备份策略 4 编写备份脚本4.1 步骤拆解步骤 1: 选择源文…...

python学习

Python面试题大全 - 50道经典面试题 - 掘金 yoloV5:yolov5: YOLOv5 汉化版,保持官方同步更新 yoloV8使用案例:用YOLOv8一站式解决图像分类、检测、分割…… - 掘金 yoloV8使用案例douyin:https://www.douyin.com/user/self?modal_id7276287878194285…...

【使用redisson完成延迟队列的功能】使用redisson配合线程池完成异步执行功能,延迟队列和不需要延迟的队列

1. 使用redisson完成延迟队列的功能 引入依赖 spring-boot-starter-actuator是Spring Boot提供的一个用于监控和管理应用程序的模块 用于查看应用程序的健康状况、审计信息、指标和其他有用的信息。这些端点可以帮助你监控应用程序的运行状态、性能指标和健康状况。 已经有了…...

Linux 性能分析工具 perf 的使用指南

什么是perf,可以用来干什么 perf 是 Linux 内核的性能分析工具集,它可以用来监控和分析系统和应用程序的性能。perf 提供了一系列功能强大的子命令,可以帮助开发者和系统管理员: 监控 CPU 使用率:识别最消耗 CPU 的代…...

【QT入门】 Qt代码创建布局之水平布局、竖直布局详解

往期回顾: 【QT入门】 Qt实现自定义信号-CSDN博客 【QT入门】 Qt自定义信号后跨线程发送信号-CSDN博客 【QT入门】 Qt内存管理机制详解-CSDN博客 【QT入门】 Qt代码创建布局之水平布局、竖直布局详解 先看两个问题: 1、ui设计器设计界面很方便&#xf…...

C 传递数组给函数

如果您想要在函数中传递一个一维数组作为参数,您必须以下面三种方式来声明函数形式参数,这三种声明方式的结果是一样的,因为每种方式都会告诉编译器将要接收一个整型指针。同样地,您也可以传递一个多维数组作为形式参数。 方式 1…...

二次开发Flink-coGroup算子支持迟到数据通过测输出流提取

目录 1.背景 2.coGroup算子源码分析 2.1完整的coGroup算子调用流程 2.2coGroup方法入口 2.3 CoGroupedStreams对象分析 2.4WithWindow内部类分析 2.5CoGroupWindowFunction函数分析 3.修改源码支持获取迟到数据测输出流 3.1复制CoGroupedStreams 3.2新增WithWindow.si…...

【容器源码篇】Set容器(HashSet,LinkedHashSet,TreeSet的特点)

文章目录 ⭐容器继承关系&#x1f339;Set容器&#x1f5d2;️HashSet源码解析构造方法public HashSet()public HashSet(Collection<? extends E> c)public HashSet(int initialCapacity, float loadFactor)HashSet(int initialCapacity, float loadFactor, boolean dum…...

网络工程师实验命令(华为数通HCIA)

VRP系统的基本操作 dis version #查看设备版本信息 sys #进入系统视图 system-name R1 #改设备名字为R1进入接口配置IP地址 int g0/0/0 ip address 192.168.1.1 255.255.255.0 #配置接口地址为192.168.1.1/255.255.255.0 ip address 192.168.1.2 24 sub #此…...

AI大模型学习:AI大模型在特定领域的应用

1. 引言 随着人工智能技术的飞速发展&#xff0c;AI大模型已成为推动科技创新的重要力量。从自然语言处理到图像识别&#xff0c;再到复杂决策支持系统&#xff0c;AI大模型在多个领域展现出了前所未有的潜力和应用广度。本文旨在深入探讨AI大模型在特定领域中的应用&#xff0…...

Channel 结合 Select 使用

在Go语言中&#xff0c;channel和select结合使用是一种强大的并发模式。channel允许在不同的goroutine之间安全地传递消息&#xff0c;而select使得goroutine可以同时等待多个通信操作&#xff08;channel操作&#xff09;。 select语句等待多个channel操作中的任意一个完成。…...

LeetCode-1669题:合并两个链表(原创)

【题目描述】 给你两个链表 list1 和 list2 &#xff0c;它们包含的元素分别为 n 个和 m 个。请你将 list1 中下标从 a 到 b 的全部节点都删除&#xff0c;并将list2 接在被删除节点的位置。下图中蓝色边和节点展示了操作后的结果&#xff1a; 请你返回结果链表的头指针。 【…...

微服务高级篇(三):分布式缓存+Redis集群

文章目录 一、单点Redis的问题及解决方案二、Redis持久化2.1 单机安装Redis2.2 RDB持久化2.3 AOF持久化2.4 RDB和AOF对比 三、Redis主从3.1 搭建Redis主从架构3.1.1 集群结构3.1.2 准备实例和配置3.1.3 启动3.1.4 开启主从关系3.1.5 测试 3.2 数据同步3.2.1 全量同步【建立连接…...

机器学习——元学习

元学习&#xff08;Meta Learning&#xff09;是一种机器学习方法&#xff0c;旨在使模型能够学习如何学习。它涉及到在学习过程中自动化地学习和优化学习算法或模型的能力。元学习的目标是使模型能够从有限的训练样本中快速适应新任务或新环境。 在传统的机器学习中&#xff…...

day56 动态规划part13

300. 最长递增子序列 中等 给你一个整数数组 nums &#xff0c;找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列&#xff0c;删除&#xff08;或不删除&#xff09;数组中的元素而不改变其余元素的顺序。例如&#xff0c;[3,6,2,7] 是数组 [0,3,1,6,2,2,…...

Mybatis别名 动态sql语句 分页查询

给Mybatis的实体类起别名 给Mybatis的xml文件注册mapper映射文件 动态sql语句 1 if 2 choose 3 where 4 foreach 一&#xff09;if 查询指定名称商品信息 语法&#xff1a; SELECT * FROM goods where 11 <if test "gName!null"> and g.g_name like co…...

【算法题】三道题理解算法思想--滑动窗口篇

滑动窗口 本篇文章中会带大家从零基础到学会利用滑动窗口的思想解决算法题&#xff0c;我从力扣上筛选了三道题&#xff0c;难度由浅到深&#xff0c;会附上题目链接以及算法原理和解题代码&#xff0c;希望大家能坚持看完&#xff0c;绝对能有收获&#xff0c;大家有更好的思…...

go env 命令详解

文章目录 1.简介2.格式3.示例4.环境变量参考文献 1.简介 go env 用于查看和设置 Go 环境变量。 默认情况下 go env 输出格式为 Shell 脚本格式&#xff08;如 Windows 上是 batch 文件格式&#xff09;。如果指定变量名称&#xff0c;则只输出变量的值。 2.格式 go env [-j…...

Python|GIF 解析与构建(5):手搓截屏和帧率控制

目录 Python&#xff5c;GIF 解析与构建&#xff08;5&#xff09;&#xff1a;手搓截屏和帧率控制 一、引言 二、技术实现&#xff1a;手搓截屏模块 2.1 核心原理 2.2 代码解析&#xff1a;ScreenshotData类 2.2.1 截图函数&#xff1a;capture_screen 三、技术实现&…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…...

脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)

一、数据处理与分析实战 &#xff08;一&#xff09;实时滤波与参数调整 基础滤波操作 60Hz 工频滤波&#xff1a;勾选界面右侧 “60Hz” 复选框&#xff0c;可有效抑制电网干扰&#xff08;适用于北美地区&#xff0c;欧洲用户可调整为 50Hz&#xff09;。 平滑处理&…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述&#xff0c;后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作&#xff0c;其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

【网络安全产品大调研系列】2. 体验漏洞扫描

前言 2023 年漏洞扫描服务市场规模预计为 3.06&#xff08;十亿美元&#xff09;。漏洞扫描服务市场行业预计将从 2024 年的 3.48&#xff08;十亿美元&#xff09;增长到 2032 年的 9.54&#xff08;十亿美元&#xff09;。预测期内漏洞扫描服务市场 CAGR&#xff08;增长率&…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

Spring AI 入门:Java 开发者的生成式 AI 实践之路

一、Spring AI 简介 在人工智能技术快速迭代的今天&#xff0c;Spring AI 作为 Spring 生态系统的新生力量&#xff0c;正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务&#xff08;如 OpenAI、Anthropic&#xff09;的无缝对接&…...

《基于Apache Flink的流处理》笔记

思维导图 1-3 章 4-7章 8-11 章 参考资料 源码&#xff1a; https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...