鸿蒙开发接口Ability框架:【@ohos.ability.particleAbility (particleAbility模块)】
particleAbility模块
particleAbility模块提供了Service类型Ability的能力,包括启动、停止指定的particleAbility,获取dataAbilityHelper,连接、断开当前Ability与指定ServiceAbility等。
说明:
本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
本模块接口仅可在FA模型下使用。
使用限制
particleAbility模块用来对Data和Service类型的Ability进行操作。
导入模块
import particleAbility from '@ohos.ability.particleAbility'
开发前请熟悉鸿蒙开发指导文档:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。
particleAbility.startAbility
startAbility(parameter: StartAbilityParameter, callback: AsyncCallback<void>): void
使用此方法启动指定的particleAbility(callback形式)。
系统能力:SystemCapability.Ability.AbilityRuntime.FAModel
参数:
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
parameter | StartAbilityParameter | 是 | 指示启动的ability |
callback | AsyncCallback<void> | 是 | 被指定的回调方法 |
示例:
import particleAbility from '@ohos.ability.particleAbility'
import wantConstant from '@ohos.ability.wantConstant'
particleAbility.startAbility({want:{action: "action.system.home",entities: ["entity.system.home"],type: "MIMETYPE",flags: wantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION,deviceId: "",bundleName: "com.example.Data",abilityName: "com.example.Data.MainAbility",uri:""},},(error, result) => {console.log('particleAbility startAbility errCode:' + error + 'result:' + result)},
)
particleAbility.startAbility
startAbility(parameter: StartAbilityParameter): Promise<void>;
使用此方法启动指定的particleAbility(Promise形式)。
系统能力:SystemCapability.Ability.AbilityRuntime.FAModel
参数:
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
parameter | StartAbilityParameter | 是 | 指示启动的ability |
返回值:
类型 | 说明 |
---|---|
Promise<void> | 使用Promise形式返回结果。 |
示例:
import particleAbility from '@ohos.ability.particleAbility'
import wantConstant from '@ohos.ability.wantConstant'
particleAbility.startAbility({want:{action: "action.system.home",entities: ["entity.system.home"],type: "MIMETYPE",flags: wantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION,deviceId: "",bundleName: "com.example.Data",abilityName: "com.example. Data.MainAbility",uri:""},},
).then((data) => {console.info("particleAbility startAbility");
});
particleAbility.terminateSelf
terminateSelf(callback: AsyncCallback<void>): void
终止particleAbility(callback形式)。
系统能力:SystemCapability.Ability.AbilityRuntime.FAModel
参数:
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
callback | AsyncCallback<void> | 是 | 表示被指定的回调方法 |
示例:
import particleAbility from '@ohos.ability.particleAbility'
particleAbility.terminateSelf((error, result) => {console.log('particleAbility terminateSelf errCode:' + error + 'result:' + result)}
)
particleAbility.terminateSelf
terminateSelf(): Promise<void>
终止particleAbility(Promise形式)。
系统能力:SystemCapability.Ability.AbilityRuntime.FAModel
返回值:
类型 | 说明 |
---|---|
Promise<void> | 使用Promise形式返回结果。 |
示例:
import particleAbility from '@ohos.ability.particleAbility'
particleAbility.terminateSelf().then((data) => {console.info("particleAbility terminateSelf");
});
particleAbility.acquireDataAbilityHelper
acquireDataAbilityHelper(uri: string): DataAbilityHelper
获取dataAbilityHelper。
系统能力:SystemCapability.Ability.AbilityRuntime.FAModel
参数:
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
uri | string | 是 | 指示要打开的文件的路径。 |
返回值:
类型 | 说明 |
---|---|
DataAbilityHelper | 用来协助其他Ability访问DataAbility的工具类。 |
示例:
import particleAbility from '@ohos.ability.particleAbility'
var uri = "";
particleAbility.acquireDataAbilityHelper(uri)
particleAbility.startBackgroundRunning
startBackgroundRunning(id: number, request: NotificationRequest, callback: AsyncCallback<void>): void;
向系统申请长时任务,使用callback形式返回结果,建议使用新接口backgroundTaskManager.startBackgroundRunning)。
需要权限: ohos.permission.KEEP_BACKGROUND_RUNNING
系统能力:SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
id | number | 是 | 长时任务通知id号 |
request | NotificationRequest | 是 | 通知参数,用于显示通知栏的信息 |
callback | AsyncCallback<void> | 是 | callback形式返回启动长时任务的结果 |
示例:
import notification from '@ohos.notification';
import particleAbility from '@ohos.ability.particleAbility';
import wantAgent from '@ohos.wantAgent';function callback(err, data) {if (err) {console.error("Operation failed Cause: " + err);} else {console.info("Operation succeeded");}
}let wantAgentInfo = {wants: [{bundleName: "com.example.myapplication",abilityName: "com.example.myapplication.MainAbility"}],operationType: wantAgent.OperationType.START_ABILITY,requestCode: 0,wantAgentFlags: [wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
};wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj) => {let basicContent = {title: "title",text: "text"};let notificationContent = {contentType: notification.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,normal: basicContent};let request = {content: notificationContent,wantAgent: wantAgentObj};let id = 1;particleAbility.startBackgroundRunning(id, request, callback);
});
particleAbility.startBackgroundRunning
startBackgroundRunning(id: number, request: NotificationRequest): Promise<void>
需要权限: ohos.permission.KEEP_BACKGROUND_RUNNING
系统能力:SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask
向系统申请长时任务,使用promise形式返回结果,建议使用新接口backgroundTaskManager.startBackgroundRunning)。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
id | number | 是 | 长时任务通知id号 |
request | NotificationRequest | 是 | 通知参数,用于显示通知栏的信息 |
返回值:
类型 | 说明 |
---|---|
Promise<void> | 使用Promise形式返回结果。 |
示例:
import notification from '@ohos.notification';
import particleAbility from '@ohos.ability.particleAbility';
import wantAgent from '@ohos.wantAgent';let wantAgentInfo = {wants: [{bundleName: "com.example.myapplication",abilityName: "com.example.myapplication.MainAbility"}],operationType: wantAgent.OperationType.START_ABILITY,requestCode: 0,wantAgentFlags: [wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
};wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj) => {let basicContent = {title: "title",text: "text"};let notificationContent = {contentType: notification.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,normal: basicContent};let request = {content: notificationContent,wantAgent: wantAgentObj};let id = 1;particleAbility.startBackgroundRunning(id, request).then(() => {console.info("Operation succeeded");}).catch((err) => {console.error("Operation failed Cause: " + err);});
});
particleAbility.cancelBackgroundRunning
cancelBackgroundRunning(callback: AsyncCallback<void>): void;
向系统申请取消长时任务,使用callback形式返回结果,建议使用新接口backgroundTaskManager.stopBackgroundRunning)。
系统能力:SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | AsyncCallback<void> | 是 | callback形式返回启动长时任务的结果 |
示例:
import particleAbility from '@ohos.ability.particleAbility';function callback(err, data) {if (err) {console.error("Operation failed Cause: " + err);} else {console.info("Operation succeeded");}
}
particleAbility.cancelBackgroundRunning(callback);
particleAbility.cancelBackgroundRunning
cancelBackgroundRunning(): Promise<void>;
向系统申请取消长时任务,使用promise形式返回结果,建议使用新接口backgroundTaskManager.stopBackgroundRunning)。
系统能力:SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask
返回值:
类型 | 说明 |
---|---|
Promise<void> | 使用Promise形式返回结果。 |
示例:
import particleAbility from '@ohos.ability.particleAbility';particleAbility.cancelBackgroundRunning().then(() => {console.info("Operation succeeded");
}).catch((err) => {console.error("Operation failed Cause: " + err);
});
particleAbility.connectAbility
connectAbility(request: Want, options:ConnectOptions): number
将当前ability连接到指定ServiceAbility(callback形式)。
系统能力:SystemCapability.Ability.AbilityRuntime.FAModel
参数:
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
request | Want) | 是 | 表示被连接的ServiceAbility。 |
options | ConnectOptions | 是 | 被指定的回调方法。 |
ConnectOptions类型说明:
系统能力:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
名称 | 读写属性 | 类型 | 必填 | 描述 |
---|---|---|---|---|
onConnect | 只读 | function | 是 | 连接成功时的回调函数。 |
onDisconnect | 只读 | function | 是 | 连接失败时的回调函数。 |
onFailed | 只读 | function | 是 | ConnectAbility调用失败时的回调函数。 |
示例:
import rpc from '@ohos.rpc'function onConnectCallback(element, remote){console.log('ConnectAbility onConnect remote is proxy:' + (remote instanceof rpc.RemoteProxy));}function onDisconnectCallback(element){console.log('ConnectAbility onDisconnect element.deviceId : ' + element.deviceId)}function onFailedCallback(code){console.log('particleAbilityTest ConnectAbility onFailed errCode : ' + code)}var connId = particleAbility.connectAbility({bundleName: "com.ix.ServiceAbility",abilityName: "ServiceAbilityA",},{onConnect: onConnectCallback,onDisconnect: onDisconnectCallback,onFailed: onFailedCallback,},);particleAbility.disconnectAbility(connId).then((data)=>{console.log( " data: " + data);}).catch((error)=>{console.log('particleAbilityTest result errCode : ' + error.code )});
particleAbility.disconnectAbility
disconnectAbility(connection: number, callback:AsyncCallback<void>): void;
将功能与服务功能断开连接。
系统能力:SystemCapability.Ability.AbilityRuntime.FAModel
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | AsyncCallback<void> | 是 | callback形式返回断开连接的结果 |
示例:
import rpc from '@ohos.rpc'function onConnectCallback(element, remote){console.log('ConnectAbility onConnect remote is proxy:' + (remote instanceof rpc.RemoteProxy));}function onDisconnectCallback(element){console.log('ConnectAbility onDisconnect element.deviceId : ' + element.deviceId)}function onFailedCallback(code){console.log('particleAbilityTest ConnectAbility onFailed errCode : ' + code)}var connId = particleAbility.connectAbility({bundleName: "com.ix.ServiceAbility",abilityName: "ServiceAbilityA",},{onConnect: onConnectCallback,onDisconnect: onDisconnectCallback,onFailed: onFailedCallback,},);var result = particleAbility.disconnectAbility(connId).then((data)=>{console.log( " data: " + data);}).catch((error)=>{console.log('particleAbilityTest result errCode : ' + error.code )});
particleAbility.disconnectAbility
disconnectAbility(connection: number): Promise<void>;
将功能与服务功能断开连接。
系统能力:SystemCapability.Ability.AbilityRuntime.FAModel
返回值:
类型 | 说明 | |
---|---|---|
Promise<void> | 使用Promise形式返回结果。 | HarmonyOS与OpenHarmony鸿蒙文档籽料:mau123789是v直接拿 |
示例:
import rpc from '@ohos.rpc'
function onConnectCallback(element, remote){console.log('ConnectAbility onConnect remote is proxy:' + (remote instanceof rpc.RemoteProxy));}function onDisconnectCallback(element){console.log('ConnectAbility onDisconnect element.deviceId : ' + element.deviceId)}function onFailedCallback(code){console.log('particleAbilityTest ConnectAbility onFailed errCode : ' + code)}var connId = particleAbility.connectAbility({bundleName: "com.ix.ServiceAbility",abilityName: "ServiceAbilityA",},{onConnect: onConnectCallback,onDisconnect: onDisconnectCallback,onFailed: onFailedCallback,},);particleAbility.disconnectAbility(connId).then((data)=>{console.log( " data: " + data);}).catch((error)=>{console.log('particleAbilityTest result errCode : ' + error.code )});
ErrorCode
获取错误代码。
系统能力:SystemCapability.Ability.AbilityRuntime.FAModel
变量 | 值 | 说明 |
---|---|---|
INVALID_PARAMETER | -1 | 无效的参数。 |
鸿蒙开发岗位需要掌握那些核心要领?
目前还有很多小伙伴不知道要学习哪些鸿蒙技术?不知道重点掌握哪些?为了避免学习时频繁踩坑,最终浪费大量时间的。
自己学习时必须要有一份实用的鸿蒙(Harmony NEXT)资料非常有必要。 这里我推荐,根据鸿蒙开发官网梳理与华为内部人员的分享总结出的开发文档。内容包含了:【ArkTS、ArkUI、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战】等技术知识点。
废话就不多说了,接下来好好看下这份资料。
如果你是一名Android、Java、前端等等开发人员,想要转入鸿蒙方向发展。可以直接领取这份资料辅助你的学习。鸿蒙OpenHarmony知识←前往。下面是鸿蒙开发的学习路线图。
针对鸿蒙成长路线打造的鸿蒙学习文档。鸿蒙(OpenHarmony )学习手册(共计1236页)与鸿蒙(OpenHarmony )开发入门教学视频,帮助大家在技术的道路上更进一步。
其中内容包含:
《鸿蒙开发基础》鸿蒙OpenHarmony知识←前往
- ArkTS语言
- 安装DevEco Studio
- 运用你的第一个ArkTS应用
- ArkUI声明式UI开发
- .……
《鸿蒙开发进阶》鸿蒙OpenHarmony知识←前往
- Stage模型入门
- 网络管理
- 数据管理
- 电话服务
- 分布式应用开发
- 通知与窗口管理
- 多媒体技术
- 安全技能
- 任务管理
- WebGL
- 国际化开发
- 应用测试
- DFX面向未来设计
- 鸿蒙系统移植和裁剪定制
- ……
《鸿蒙开发实战》鸿蒙OpenHarmony知识←前往
- ArkTS实践
- UIAbility应用
- 网络案例
- ……
最后
鸿蒙是完全具备无与伦比的机遇和潜力的;预计到年底将有 5,000 款的应用完成原生鸿蒙开发,这么多的应用需要开发,也就意味着需要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长,学习鸿蒙势在必行!
相关文章:

鸿蒙开发接口Ability框架:【@ohos.ability.particleAbility (particleAbility模块)】
particleAbility模块 particleAbility模块提供了Service类型Ability的能力,包括启动、停止指定的particleAbility,获取dataAbilityHelper,连接、断开当前Ability与指定ServiceAbility等。 说明: 本模块首批接口从API version 7开…...

Flutter笔记:Widgets Easier组件库(8)使用图片
Flutter笔记 Widgets Easier组件库(8):使用图片 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress o…...

商务分析方法与工具(五):Python的趣味快捷-文件和文件夹操作自动化
Tips:"分享是快乐的源泉💧,在我的博客里,不仅有知识的海洋🌊,还有满满的正能量加持💪,快来和我一起分享这份快乐吧😊! 喜欢我的博客的话,记得…...
codeforce#938 (div3) 题解
C. Inhabitant of the Deep Sea 数组第一个元素减一下,最后一个元素减一下,一共能减k次,问有多少元素能减到0.细节模拟我是傻逼,有问题建议直接看tc面像tc编程 #include <iostream> #include <string.h> #include &…...

【Docker】如何注册Hub账号并上传镜像到Hub仓库
一、创建Hub账户 浏览器访问:hub.docker.com 点击【Sign up】注册账号 输入【邮箱】【用户名】【密码】 ps:用户名要有字母数字;订阅不用勾选 点击【Sign up】注册即可 点击【Sign in】登录账号 输入【邮箱】【密码】 点击【Continue】登录 二…...

[初阶数据结构】单链表
前言 📚作者简介:爱编程的小马,正在学习C/C,Linux及MySQL。 📚本文收录于初阶数据结构系列,本专栏主要是针对时间、空间复杂度,顺序表和链表、栈和队列、二叉树以及各类排序算法,持…...
项目使用git开发流程
第一步 项目初期:领导负责的工作 01 创建仓库:在码云上面创建仓库地址,创建完成后点击初始化README:郝陶涛/vue-tea 02 领导在桌面上将代码克隆下来:将代码克隆下来之后,切换到代码内部,使用g…...

Day 28 MySQL的数据备份与恢复
数据备份及恢复 1.概述 所有备份数据都应放在非数据库本地,而且建议有多份副本 备份: 能够防止由于机械故障以及人为误操作带来的数据丢失,例如将数据库文件保存在了其它地方 冗余: 数据有多份冗余,但不等备份&…...
PackageKit的使用(三)疑问篇
本篇主要是一些疑问归纳,不做具体的函数分析,但是会给出关键点,查看源码就会很清楚了 apt source PackageKit 1. org.freedesktop.PackageKit D-Bus 接口介绍 D-Bus API Reference: PackageKit Reference Manual c库的接口可以看源码。 2.…...

【Linux】17. 进程间通信 --- 管道
1. 什么是进程间通信(进程间通信的目的) 数据传输:一个进程需要将它的数据发送给另一个进程 资源共享:多个进程之间共享同样的资源。 通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了…...

有哪些有效的复习方法可以帮助备考软考?
软考目前仍然是一个以记忆为主、理解为辅的考试。学过软考的朋友可能会感到困惑,因为软考的知识在日常工作中有许多应用场景,需要理解的地方也很多。但为什么我说它是理解为辅呢?因为这些知识点只要记住了,都不难理解,…...

【MySQL | 第九篇】重新认识MySQL锁
文章目录 9.重新认识MySQL锁9.1MySQL锁概述9.2锁分类9.2.1锁的粒度9.2.2锁的区间9.2.3锁的性能9.2.4锁的级别 9.3拓展:意向锁9.3.1意向锁概述9.3.2意向锁分类9.3.3意向锁作用(1)意向锁的兼容互斥性(2)例子1(…...

含义:理财风险等级R1、R2、R3、R4、R5
理财风险等级R1、R2、R3代表什么,为什么R1不保本,R2可能亏损 不尔聊投资https://author.baidu.com/home?frombjh_article&app_id1704141696580953 我们购买理财产品的时候,首先都会看到相关产品的风险等级。风险等级约定俗成有5级&…...

ICode国际青少年编程竞赛- Python-2级训练场-列表入门
ICode国际青少年编程竞赛- Python-2级训练场-列表入门 1、 Dev.step(3)2、 Flyer.step(1) Dev.step(-2)3、 Flyer.step(1) Spaceship.step(7)4、 Flyer.step(5) Dev.turnRight() Dev.step(5) Dev.turnLeft() Dev.step(3) Dev.turnLeft() Dev.step(7) Dev.turnLeft() Dev.…...

【设计模式】14、strategy 策略模式
文章目录 十四、strategy 策略模式14.1 map_app14.1.1 map_app_test.go14.1.2 map_app.go14.1.3 navigate_strategy.go 十四、strategy 策略模式 https://refactoringguru.cn/design-patterns/strategy 需求: client 知道很多不同的策略, 希望在运行时切换. 场景示例: 就像高…...

C++类和对象(基础篇)
前言: 其实任何东西,只要你想学,没人能挡得住你,而且其实学的也很快。那么本篇开始学习类和对象(C的,由于作者有Java基础,可能有些东西过得很快)。 struct在C中的含义: …...
Oracle导入数据中文乱码问题处理,修改客户端字符编码跟数据库的一致
前提:SQL文件打开其中中文字符是正常显示,保证导出文件中文字符正常。通过sqlplus命令导入SQL文件出现乱码,这是因为客户端跟数据库的字符集不一致导致出现乱码问题。 要SQL导入的中文正常,要确保执行导入命令的客户端字符编码跟…...

【与 Apollo 共创生态:展望自动驾驶全新未来】
1、引言 历经七年的不懈追求与创新,Apollo开放平台已陆续推出了13个版本,汇聚了来自全球170多个国家与地区的16万名开发者及220多家合作伙伴。随着Apollo开放平台的不断创新与发展,Apollo在2024年4月19日迎来了Apollo开放平台的七周年大会&a…...

【webrtc】MessageHandler 5: 基于线程的消息处理:以PeerConnection信令线程为例
peerconn的信令是通过post 消息到自己的信令线程消息来处理的PeerConnectionMessageHandler 是具体的处理器G:\CDN\rtcCli\m98\src\pc\peer_connection_message_handler.hMachinery for handling messages posted to oneself PeerConnectionMessageHandler 明确服务于 signalin…...
计算机网络 3.2网络体系结构
第二节 网络体系结构 一、网络协议 1.定义: ①通信双方共同遵守的规则。 ②为网络数据交换制定的规则、约定与标准。 ③网络实体之间通信时有关信息传输顺序、信息格式、信息内容的约定或规则。 2.协议三要素: 语法:确定协议元素的格式…...

【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...

Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...

Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

Kafka入门-生产者
生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...
Web中间件--tomcat学习
Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...
Python 高效图像帧提取与视频编码:实战指南
Python 高效图像帧提取与视频编码:实战指南 在音视频处理领域,图像帧提取与视频编码是基础但极具挑战性的任务。Python 结合强大的第三方库(如 OpenCV、FFmpeg、PyAV),可以高效处理视频流,实现快速帧提取、压缩编码等关键功能。本文将深入介绍如何优化这些流程,提高处理…...
React核心概念:State是什么?如何用useState管理组件自己的数据?
系列回顾: 在上一篇《React入门第一步》中,我们已经成功创建并运行了第一个React项目。我们学会了用Vite初始化项目,并修改了App.jsx组件,让页面显示出我们想要的文字。但是,那个页面是“死”的,它只是静态…...
深度解析:etcd 在 Milvus 向量数据库中的关键作用
目录 🚀 深度解析:etcd 在 Milvus 向量数据库中的关键作用 💡 什么是 etcd? 🧠 Milvus 架构简介 📦 etcd 在 Milvus 中的核心作用 🔧 实际工作流程示意 ⚠️ 如果 etcd 出现问题会怎样&am…...