草庐IT

实时通信Android

全部标签

java - 实时屏幕共享到 Java 应用程序(本地主机)

我正在寻找一种方法来为正在运行的Windows游戏添加叠加层,例如OBS(用于Twitch的游戏流媒体应用程序)。我想使用Robot类每秒钟截取25/30个屏幕截图并显示它们,但我不确定这是正确的解决方案..所以我的问题如下:我如何屏幕共享正在运行的应用程序到Java应用程序(本地主机,同一台计算机),以便在它前面添加覆盖?编辑:我尝试使用VLCStreaming,但这使计算机非常缓慢(i7/8Gb)...我也尝试使用FFMpeg,使用screen-capture-recorder和gdigrab,计算机并不滞后,但视频实时下降了5/10FPS。在FFMpeg中,我使用了以下命令:ff

Android-实现View模糊效果

首先,关于在Android上绘图的一句话在最基本的层面上,Android上的可视元素(如按钮、文本和其他UI或自定义元素)通常是通过调用 Canvas API绘制的,如 drawLine()()、drawText()、drawBitmap() 等drawText()。除非在自定义视图中绘制对象,否则代码可能不会直接调用这些方法,但在绘制应用程序中的UI组件时会代表您调用这些方法。这些绘图命令中的大多数都向渲染系统提供三条信息。您可以将这些视为绘制的内容、位置和方式信息,操作本身的位置(要绘制的“基元”),对象的放置位置(位置和大小)在哪里,以及绘图属性集如何。正是这些属性让我们今天感到担忧,因

java - Java实时应用的纵向扩展

通过GC调整,我成功地获得了实时Java应用程序的性能并避免了可识别的GC暂停。但是,这最多可容纳约20GB的堆空间。硬件成本的降低甚至让100GBRAM的机器都可以负担得起。但是,由于GC暂停,对于Java来说,更大的堆大小(如50GB)有时会让您陷入噩梦。我知道有堆外和分布式堆之类的选项。但是,堆外有序列/序列化的缺点,手头的分布式堆增加了维护成本。此外,在分布式堆中,您实际上并没有充分利用RAM(例如64GB),这些如今已成为商品。因此,要充分发挥RAM的潜力,Java应用的垂直扩展有哪些好的解决方案? 最佳答案 我正在开发一

java - 如何在android中不循环获取数组项?

我有一个包含多个项目的字符串数组。String[]folder={"proc","root","sdcard","cache","system","config","dev","sys","acct","sbin","etc"};现在我想检查一下条件是否像if(list[i].getName().equals(object))是否有任何方法可以检查整个数组,如果数组中存在list[i],则进入if条件block。提前谢谢你。 最佳答案 例如:Arrays.asList(folder).contains("sdcard");asLis

【Android新版本兼容】onBackPressed()方法被弃用的解决方案

提示:此文章仅作为本人记录日常学习使用,若有存在错误或者不严谨得地方欢迎指正。文章目录一、使用AndroidXAPI实现预测性返回手势1.1添加依赖1.2启用返回手势1.3注册OnBackPressedCallback()方法来处理返回手势一、使用AndroidXAPI实现预测性返回手势从Android10版本开始,系统提供了手势导航功能。我们可以在Android设备上从屏幕左侧向右/从屏幕右侧向左滑动手势来实现类似按下Back返回键的功能。从Android13版本(APILevel33)开始,onBackPressed()方法将被弃用,我们可以使用AndroidX的API来实现滑动手势功能的

Android logcat日志分析

目录一、简介二、logcat命令2.1adblogcat命令格式2.2adblogcat命令参数2.3adblogcat日志缓冲区2.4adblogcat格式化输出2.4.1logcat-vbrief2.4.2logcat-vlong2.4.3logcat-vprocess2.4.4logcat-vtag2.4.5logcat-vraw2.4.6logcat-vtime2.4.7logcat-vthreadtime2.5adblogcat日志级别三、adblogcat示例3.1adblogcat-ball-vthreadtime--pid=4321>/Users/xxx/logcat.log3

AES算法:加密通信的新选择

AES算法起源:AES(AdvancedEncryptionStandard)算法是一种对称密钥加密算法,由比利时密码学家JoanDaemen和VincentRijmen设计,于2001年被美国国家标准技术研究所(NIST)确定为新的数据加密标准。AES算法取代了DES算法,成为当前最流行的对称加密算法之一。AES算法原理:密钥扩展:根据初始密钥生成多个轮密钥。初始轮密钥加:将明文与第一轮密钥进行异或操作。轮函数:包括字节替代、行移位、列混淆和轮密钥加。多轮迭代:经过多轮迭代,每轮使用一个轮密钥。最终轮:最后一轮不包括列混淆,最终输出密文。AES算法优缺点:优点:安全性高,经过广泛验证和应用。

C++ Qt开发:QTcpSocket网络通信组件

Qt是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用QTcpSocket组件实现基于TCP的网络通信功能。QTcpSocket和QTcpServer是Qt中用于实现基于TCP(TransmissionControlProtocol)通信的两个关键类。TCP是一种面向连接的协议,它提供可靠的、双向的、面向字节流的通信。这两个类允许Qt应用程序在网络上建立客户端和服务器之间的连接。以下是QTcpSocket类的一些常用函数:函数描述QTcpSocket()构造

java - 如何在所有缩放级别实时准确地绘制大数据 vector ?

我有大量数据集(10Hz数据,因此每24小时有864k个点),我需要实时绘制这些数据集。这个想法是用户可以缩放和平移到非常详细的散点图。数据不是很连续,有尖峰。由于数据集太大,我无法在每次绘图刷新时绘制每个点。但我也不能只绘制每个第n个点,否则我会错过主要特征,例如大而短的尖峰。Matlab做对了。您可以给它一个全为零的864kvector,只需将任何一个点设置为1,它就会通过缩放和平移实时正确绘制。Matlab是怎么做到的?我的目标系统是Java,所以我会在Swing/Java2D中生成这个图的View。 最佳答案 您应该尝试来自

java - 为实时跑道入侵预防系统选择哪个知识库/基于规则的推理引擎

我们正在设计一个项目,该项目将倾听机场管制员和飞行员之间的对话,以防止跑道入侵(例如,一架飞机正在起飞,而另一架飞机正在穿越跑道)。我们的教授希望我们使用Jena用于知识库(或其他任何东西,但它应该是某种基于规则的引擎)。推理不是Jena的主要内容,并且没有太多的文档和示例。因此,我们需要一个引擎,可以从飞行员那里获取消息作为输入和输出可能的入侵风险或消息协议(protocol)中的任何其他错误。编写规则应该很容易,并且应该很容易为引擎提供实时数据。我的印象是这样的:一位飞行员发送一条消息,说他降落在某条跑道上,系统记住跑道很忙,任何人都不应该越过它如果有人接到穿过这条跑道的指令,引擎