- 博客(67)
- 收藏
- 关注
原创 通过Map类和List类的List<Map<>>组合类体会JSON
通过组合类型List<Map<String,Object>>体会JSON数据格式
2025-03-28 14:53:45
436
原创 在IDEA中使用TortoiseSVN
原版SVN由于下载路径中没有svn.exe文件,导致IDEA中无法使用命令行提交项目代码,因此,现在卸载旧版本TortoiseSVN,下载附有svn.exe的新版TortoiseSVN,下载使用过程记录如下。
2025-03-26 15:16:07
971
原创 SQL中的右连接体会多对一、全连接、笛卡尔积连接
右连接,主要照顾右表的数据。从查询的结果表来看,右表冗余的数据,结果表保持存在,剩余左表字段为空;左表冗余的数据,在结果表直接删除。在实际应用中,RIGHT JOIN有时可以用LEFT JOIN替代,只需交换表的顺序即可,这两条查询语句的结是相同,例如上面的查询可以用LEFT JOIN。
2025-03-24 14:04:10
1075
原创 SQL中的左连接,体会一对多
左连接,主要照顾左表的数据。从查询的结果表来看,左表冗余的数据,结果表保持存在,剩余右表字段为空;右表冗余的数据,在结果表直接删除。
2025-03-24 13:49:34
374
原创 熟悉Map类与Set类
Map是一个接口,它定义了一种键值对的存储结构。Map中的键是唯一的,每个键对应一个值。Map主要用于存储和检索数据,通过键可以快速找到对应的值。常见的Map实现类有HashMapTreeMap和等。例子@Test// 创建一个 HashMap 对象// 向 Map 中添加键值对// 通过键获取值// 运行结果Set也是一个接口,它定义了一个不包含重复元素的集合。Set主要用于存储一组唯一的数据,不关心元素的顺序。常见的Set实现类有HashSet。
2025-03-19 15:29:41
892
原创 搭建基于H.265编码的RTSP推流云服务器
弹性云服务器(Elastic Cloud Server,ECS)是由CPU、内存、操作系统、云硬盘组成的一种可随时获取、弹性可扩展的云服务器。弹性云服务器购买成功后,您就可以像使用自己的本地PC或物理服务器一样,在云上使用弹性云服务器。在VScode中的SSH应用中,通过公网IP进行SSH连接。在华为云服务器控制台的安全组中开发目标端口,可以设置8554端口,或者554端口,如果不确定。如果端口测试不通过,可以新增一个安全组,暂时允许所有协议端口。然后在VScode打开一个终端,就可以愉快的使用命令啦,
2024-09-27 16:41:39
1776
原创 鸿蒙手势交互(三:组合手势)
由多种单一手势组合而成,通过在GestureGroup中使用不同的GestureMode来声明该组合手势的类型,支持顺序识别、并行识别和互斥识别三种类型。
2024-09-20 16:07:52
677
原创 鸿蒙手势交互(二:单一手势)
有六种:点击手势(TapGesture)、长按手势(LongPressGesture)、拖动手势(PanGesture)捏合手势(PinchGesture)、旋转手势(RotationGesture)、滑动手势(SwipeGesture)
2024-09-18 17:16:24
1272
原创 鸿蒙手势交互(一:绑定手势方法)
给组件绑定不同的手势事件,并设计响应方式,当手势识别成功时,ArkUI框架将触发回调。主要有三种绑定方法:gesture()、priorityGesture() 、parallelGesture()
2024-09-18 17:13:46
405
原创 基于鸿蒙API10的RTSP播放器(十:USB视频流转H.265测试)
对https协议的视频流,可以正常播放,对于rtsp协议的H264编码的视频流也可以正常播放,现在来测试基于H265协议的视频流。
2024-09-14 16:13:52
800
原创 基于鸿蒙API10的RTSP播放器(九:进度总结)
基于鸿蒙API10和三方库ijkpalyer@2.0.4,实现RTSP流的流畅播放,支持H.264和H.265硬编码,既可以在基于X86的模拟机上运行,也可以在基于armabi-v7a的真机上运行。
2024-09-14 15:55:42
941
1
原创 基于鸿蒙API10的RTSP播放器(八:音量和亮度调节功能的整合)
笔者在前面第六、七节文章当中,分别指出了音量和屏幕亮度的前置知识,在本节当中,我们将一并实现这两个功能,从而接续第五节内容。本文的逻辑分三大部分,先说用到的变量,再说界面,最后说功能。其中音量功能,是设置的系统音量,而不是视频音量;其中亮度功能,是设置的应用亮度,而非系统亮度,请注意两者的区别。亮度功能使用brightness库获取系统亮度值,在初始化亮度值,然后根据触摸情况通过window库设置亮度值音量功能通过audio库,初始化音量值,根据触摸情况设置音量值。
2024-09-13 16:33:50
904
原创 基于鸿蒙API10的RTSP播放器(七:亮度调节功能测试)
播放音量的管理主要包括对系统音量的管理和对音频流音量的管理。系统音量与音频流音量分别是指HarmonyOS系统的总音量和指定音频流的音量,其中音频流音量的大小受制于系统音量,管理两者的接口不同。
2024-09-13 16:29:53
1242
原创 基于鸿蒙API10的RTSP播放器(六:系统音量调节前置知识)
播放音量的管理主要包括对系统音量的管理和对音频流音量的管理。系统音量与音频流音量分别是指HarmonyOS系统的总音量和指定音频流的音量,其中音频流音量的大小受制于系统音量,管理两者的接口不同。
2024-09-13 16:22:52
243
原创 基于鸿蒙API10的RTSP播放器(五:拖动底部视频滑轨实现跳转)
在Slider组件中,添加onChange方法进行监听,当视频轨道拖放结束时,触发this.seekTo()函数,其中seekTo函数需要传递一个视频已播放时长作为参数
2024-09-13 16:21:08
488
原创 基于鸿蒙API10的RTSP播放器(四:沉浸式播放窗口)
典型应用全屏窗口UI元素包括状态栏、应用界面和底部导航条,其中状态栏和导航条,通常在沉浸式布局下称为避让区;避让区之外的区域称为安全区。开发应用沉浸式效果主要指通过调整状态栏、应用界面和导航条的显示效果来减少状态栏导航条等系统界面的突兀感,从而使用户获得最佳的UI体验。我们在前面三节中的播放器,都有顶部状态栏何底部导航栏,为此我们可以通过把应用设置为全屏来实现沉浸式播放的效果。
2024-09-13 16:18:03
781
原创 基于鸿蒙API10的RTSP播放器(三:底部视频滑轨进度显示)
底部滑轨的基本逻辑,通过设置一个定时器,每0.1-0.5秒触发一次来不断更新左侧播放时间和滑块的位置!
2024-09-13 16:16:07
544
原创 基于鸿蒙API10的RTSP播放器(一:基本界面的实现)
鸿蒙版ijkplayer2.0.3-rc.2已经可以支持X86架构的模拟器,并且,2.0.3-rc.3可以支持H265硬编码,以及直播流RTSP。API10的鸿蒙项目文件中,在引入鸿蒙版ijkplayer后,修改三方库当中的src中的module.json文件,将API 12 改成 API 10。本身是一个开源的 Android 媒体播放库,它主要用于播放视频和音频文件,现在已有前辈将其引入到鸿蒙当中,通过XComponent组件完成适配。是OpenGLES的一部分,用于管理图形上下文和表面。
2024-09-13 15:51:55
1999
原创 USB摄像头视频流转RTSP流
USB摄像头的工作原理与VLC播放其他视频文件类似,主要区别在于视频流的来源是实时捕获的,而不是预先录制的文件。如果使用VLC将USB摄像头的视频流作为RTSP服务器广播,需要进一步配置。是一个特殊的协议,用于访问DirectShow设备。DirectShow是微软提供的一套在Windows操作系统中用于处理多媒体流的框架。使用FFmpeg作为RTSP流媒体服务器,进行转流:先打开mediamtx.exe(方法二)运行FFmpeg命令如下,选一个命令即可:(方法二)使用VLC作为服务器进行转流(方法一)
2024-09-12 17:29:59
3419
1
原创 RK3568 初识
采用22nm先进工艺,主频高达2.0GHz。此外,DAYU200开发板还支持外挂5G基带,并且是业内首款进入OpenHarmony主线代码的富设备开发板,标志着OpenHarmony面向富设备领域的行业应用正式启航。RK3565是福州本土集成电路设计企业的产品,售价在200RMB左右,润和DAYU200完成基于RK3568的鸿蒙适配,官方售价高达2000RMB。设计的开发板,集成了双核心架构GPU和高效能NPU,搭载四核64位。润和软件的产品线中包括了DAYU200开发板,这是一款基于。
2024-09-12 17:19:13
2686
原创 OpenHarmony 主窗体和子窗体的关系
应用只有一个主窗体作为应用入口,这句话可以在工程文件夹EntryAbility中的onWindowStage()回调方法中有直观的感受,即MainAbility创建了主窗体管理器。重要性:主窗体和子窗体的交互以及它们与能力的生命周期管理共同构成了鸿蒙应用的用户界面和用户体验。能力:是应用的逻辑单元,每个能力都有自己的窗体,其中主能力对应的主窗体是应用的根界面。子窗体:是由主窗体或其他子窗体打开的界面,用于展示应用的不同部分或功能。主窗体:是应用的主能力界面,是用户与应用交互的起点。
2024-09-06 17:39:00
529
原创 两种常见的视频编解码:H264和H265
这意味着使用H.265编码的视频可以显著减小文件大小,同时保留原始视频的最大分辨率和清晰度。H.265还支持8K分辨率和高动态范围,但需要更多的处理能力和更新的硬件来编码和解码视频。MP4是一个容器格式,而H.264和H.265是视频编码标准,MP4文件可以使用H.264或H.265进行编码,以实现视频数据的压缩和存储。是一种广泛使用的视频编码标准,以其高压缩比和良好的视频质量而著称。H.264支持多种分辨率、帧速率和颜色深度,因此被广泛应用于各种平台和软件,如蓝光盘、流媒体服务和电视广播。
2024-09-03 17:24:14
1298
原创 通过FFmpeg和URL查看流的编码格式
这句话表示节目中的第二个流是视频流,它使用H.264(Advanced Video Coding,不是HEVC,即不是H265High Efficient Video Coding)编解码器,视频格式为YUV 420p,分辨率为192x144,帧率为14.99 fps,时间基为14.99 tbr,转换率为90k tbn。这句话表示播放列表的总时长是30分钟01秒,起始时间是10秒,但比特率是0 kb/s,这可能是因为播放列表中包含了多个不同的比特率版本,而FFmpeg尚未开始处理。
2024-09-03 17:11:12
1000
原创 屏幕像素初步认识
vp是viewport的缩写,指的是视口单位。视口单位允许元素的大小根据视口的大小变化,这在响应式网页设计中非常有用,可以确保网页在不同尺寸的设备上都能良好显示。px是“pixel”的缩写,是网页设计和图形设计中常用的长度单位,用于表示图像或屏幕上的一个点的尺寸。像素是构成数字图像的基本单元,是图像显示的基本点。每个像素点都有自己的颜色信息,屏幕上的图像是由大量的像素点按照特定的排列和颜色组合而成的。屏幕分辨率是指显示器所能显示的像素的总数,通常以水平像素数乘以垂直像素数来表示,例如1920x1080。
2024-09-03 17:08:23
579
原创 鸿蒙XComponent组件的认识
XComponent组件作为一种渲染组件,通常用于满足开发者较为复杂的自定义渲染需求,例如相机预览流的显示、游戏画面的渲染、自定义视频播放器等等。其中Native API是其核心内容!其可通过指定其type字段来实现不同的功能,主要有两个“surface”和“component”字段可供选择。在ArkTS侧使用如下代码,即可用XComponent组件进行利用EGL/OpenGLES渲染的开发。
2024-08-27 16:55:56
1164
原创 流媒体协议分析
m3u8、RTSP、RTMP 和 WebRTC 等等都是用于视频流传输的协议或格式,它们各自有特定的用途和特点::.m3u8HLS.m3u8tsts.m3u8:RTSPRTSPRTSP:RTMPRTMPRTMP:WebRTCWebRTCWebRTC):MP4:FLVFLV:HTTPHTTPM3U8HLSHTTPCDN:HTTPMPDMPEG-DASHHTTP。
2024-08-27 16:52:35
1442
原创 通过JPA映射数据库
在 JPA (Java Persistence API) 中,实体类通常通过一系列注解来配置,以便与数据库表进行映射,与Mybatis-plus在功能上,具有一定的相似性,都是持久化框架。)通常会被转换为DTO或VO,以便在不同层之间传递数据。比如,当从数据库检索用户信息时,服务层可能会将。这样做的好处是减少了层与层之间的耦合,提高了系统的模块化和灵活性。,然后传递给表现层,表现层再将。在实践中,实体类(如。
2024-08-15 17:40:59
820
原创 Mybatis和Mybatis-plus区别和联系
MyBatis 和 MyBatis-Plus 是两个用于 Java 数据持久层的框架,它们在功能和使用场景上有所不同。如果项目需要高度自定义和复杂的 SQL 逻辑处理,且开发团队熟悉 SQL,那么 MyBatis 是一个更好的选择。相反,如果希望提高开发效率,减少重复代码,并且项目的 CRUD 操作较为常规,那么 MyBatis-Plus 更为适合.
2024-08-15 17:27:33
554
原创 DevEcoStudio对Gitee进行变基与合并
当尝试将本地分支的更改推送到远程仓库,但是远程仓库中的该分支已经有了您本地分支中没有的提交时,会出现这个提示。在执行合并或变基之后,可能需要解决任何出现的冲突,然后才能成功推送更改。
2024-08-15 17:21:39
515
原创 认识 ArkTS 语法
每个模块都有其自己的作用域,即,在模块中创建的任何声明(变量、函数、类等)在该模块之外都不可见,除非它们被显式导出。ArkTS语法就是ts、js语法的超集,引入ArkUI框架(声明式语句),与此相对,从另一个模块导出的变量、函数、类、接口等必须首先导入到模块中。**类的声明和使用(体现面向对象特性 封装 继承 多态)**接口(非java中的标准接口,该接口可以有属性)有导出导入的概念,导入分为静态导入和动态导入。一元运算符为-、+、–、++**变量常量的声明和使用。**函数的声明和使用。
2024-08-09 16:52:28
421
原创 HarmonyOS Flex布局
提供了更加灵活和有效的方式对容器中的子元素进行排列、对齐和分配剩余空间。广泛应用于页面头部导航栏的均匀分布、页面框架的搭建、多行数据的排列等场景。建议使用Column/Row替代Flex,性能会得到提升。
2024-08-09 16:47:03
713
原创 HarmonyOS APP如何扩展应用功能?
服务模块属于一个应用里面可以拓展的地方,三方服务或者新增加的服务全部可以放进来,这里用的核心组件就是Grid组件。
2024-08-02 16:34:00
239
原创 HarmonyOS区别路由和导航
导航则是一个更为广泛的概念,它不仅包括页面跳转,还包括了页面之间的数据传递、生命周期管理等功能,特点如下。路由主要用于同一应用内部不同页面的跳转。
2024-08-01 17:53:42
1098
2
原创 HamornyOS Navigation的基本使用
当页面信息较多时,为了让用户能够聚焦于当前显示的内容,需要对页面内容进行分类,提高页面空间利用率。Tabs组件可以在一个页面内快速实现视图内容的切换。
2024-07-30 17:54:48
388
原创 HarmonyOS 鸿蒙DFX能力简介
Development and Feedback eXchange(DFX),用于开发、测试和维护鸿蒙应用,提供一系列的工具和功能,帮助开发者在开发过程中进行性能分析、故障检测、异常处理。比如异常处理、性能分析、全场景软总线。应用异常Crash日志规格:设备信息 软件版本 模块信息 应用基础信息 崩溃故障信息。能够识别不同类型异常,统一保存和恢复数据,体现到重启恢复。
2024-07-30 17:43:36
725
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人