CN117762532A - 一种振动控制方法、装置、设备及计算机可读存储介质 - Google Patents
一种振动控制方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN117762532A CN117762532A CN202310030099.9A CN202310030099A CN117762532A CN 117762532 A CN117762532 A CN 117762532A CN 202310030099 A CN202310030099 A CN 202310030099A CN 117762532 A CN117762532 A CN 117762532A
- Authority
- CN
- China
- Prior art keywords
- vibration
- block
- storage space
- reference point
- parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000004458 analytical method Methods 0.000 claims abstract description 13
- 238000006243 chemical reaction Methods 0.000 claims description 29
- 238000012545 processing Methods 0.000 claims description 24
- 230000000694 effects Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 19
- 230000008520 organization Effects 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 abstract description 7
- 230000001960 triggered effect Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000003672 processing method Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/116—Details of conversion of file system types or formats
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/016—Input arrangements with force or tactile feedback as computer generated output to the user
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请实施例公开了一种振动控制方法、装置、设备及计算机可读存储介质。其中方法包括:响应于目标振动的参数生成条件被触发,振动调用方按照参考编码方式生成目标振动对应的振动调用参数,振动调用方搭载有振动中间件,通过振动参数接口将振动调用参数传递至振动中间件,以通过振动中间件将振动调用参数发送至一个或多个振动输出方,并使各振动输出方解析振动调用参数,以及基于解析结果输出目标振动。可见,振动调用方(如客户端)通过振动中间件向振动输出方发送振动调用参数,可以统一振动调用方的振动调用接口,进而提高振动调用的便捷性。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种振动控制方法、一种振动控制装置、一种计算机设备、一种计算机可读存储介质。
背景技术
随着科技研究的进步,各种终端设备(如手机、平板电脑等)已经融入人们的生活。这些终端设备中的振动调用方(如客户端)在使用过程中通常会基于使用场景输出振动;例如,当终端设备中的社交应用软件在获取到新消息时会通过终端设备输出振动;又例如,当终端设备中的游戏软件在显示目标图像时会同步通过终端设备输出振动。研究发现,不同厂家生产的终端设备振动的调用方式不同,便捷性较差。
发明内容
本申请实施例提供了一种振动控制方法、装置、设备及计算机可读存储介质,能够提高振动调用的便捷性。
一方面,本申请实施例提供了一种振动控制方法,包括:
响应于目标振动的参数生成条件被触发,振动调用方按照参考编码方式生成目标振动对应的振动调用参数,振动调用方搭载有振动中间件;
通过振动参数接口将振动调用参数传递至振动中间件,以通过振动中间件将振动调用参数发送至一个或多个振动输出方,并使各振动输出方解析振动调用参数,以及基于解析结果输出目标振动。
一方面,本申请实施例提供了一种振动控制装置,该振动控制装置包括:
处理单元,用于响应于目标振动的参数生成条件被触发,振动调用方按照参考编码方式生成目标振动对应的振动调用参数,振动调用方搭载有振动中间件;
发送单元,用于通过振动参数接口将振动调用参数传递至振动中间件,以通过振动中间件将振动调用参数发送至一个或多个振动输出方,并使各振动输出方解析振动调用参数,以及基于解析结果输出目标振动。
在一种实施方式中,若振动调用参数的文件格式不属于目标格式,处理单元还用于:
通过振动中间件对振动调用参数进行格式转换处理,得到更新后的振动调用参数;
其中,更新后的振动调用参数的文件格式属于目标格式。
在一种实施方式中,处理单元用于,通过振动中间件对振动调用参数进行格式转换处理,得到更新后的振动调用参数,具体用于:
通过振动中间件将振动调用参数按照目标格式对应的参数转换规则进行转换;以及;
通过振动中间件按照目标格式对应的数据组织形式对参数转换结果进行构造,得到更新后的振动调用参数。
在一种实施方式中,目标格式包括第一格式和第二格式中的至少一种,第二格式是第一格式的压缩表示。
在一种实施方式中,振动调用参数的文件格式属于第一格式,振动调用参数包括元数据键值对和模式键值对,元数据键值对用于指示振动调用参数中的元数据;模式键值对用于指示振动模式。
在一种实施方式中,元数据键值对的值用于指示摘要对象,摘要对象包括以下至少一个键值对:版本键值对、创建时间键值对、描述信息键值对;
其中,版本键值对,用于指示振动调用参数对应的版本号;创建时间键值对用于指示振动调用参数的创建时间;描述信息键值对用于描述振动调用参数的振动效果。
在一种实施方式中,模式键值对的值为至少一个数组元素,每个数组元素的值为一个事件对象;目标事件对象包括以下至少一个键值对:振动部位键值对、振动时间键值对、持续时间键值对、强度标志键值对、频率标志键值对;目标事件对象为目标数组元素的值,目标数组元素为至少一个数组元素中的任一个;
其中,振动部位键值对用于指示输出目标事件对象指示的振动时调用的马达;振动时间键值对用于指示目标事件对象指示的振动的起始时间;持续时间键值对用于指示目标事件对象指示的振动的持续时间;强度标志键值对用于指示目标事件对象指示的振动的强度指示方式;频率标志键值对用于指示目标事件对象指示的振动的频率指示方式。
在一种实施方式中,目标事件对象包括强度标志键值对和频率标志键值对,且目标事件对象还包括振动类型键值对和振动描述参数键值对;振动类型键值对用于指示目标事件对象指示的振动的类型,振动描述参数键值对用于指示目标事件对象指示的振动的输出方式;
当振动类型键值对指示的振动类型为第一类型时,目标事件对象通过至少一个参考点指示目标振动,振动描述参数键值对的值包含参考点数量键值对和N个参考点数组元素,每个参考点数组元素的值为一个参考点对象;参考点数量键值对用于指示目标事件对象关联的参考点的数量,N与目标事件对象关联的参考点的数量匹配;目标参考点对象用于指示目标参考点关联的振动输出参数,目标参考对象为目标参考点数组元素的值,目标参考点数组元素为N个参考点数组元素中的任一个;
当振动类型键值对指示的振动类型为第二类型时,振动描述参数键值对的值包含振动强度键值对和振动频率键值对;振动强度键值对用于指示目标事件对象指示的振动的强度,振动频率键值对用于指示目标事件对象指示的振动的频率。
在一种实施方式中,目标参考点对象包括以下至少一个键值对:参考点时间键值对、参考点强度键值对、参考点频率键值对、参考点马达键值对;
其中,参考点时间键值对用于指示目标参考点在目标事件对象指示的振动中的相对时间;参考点强度键值对用于指示目标参考点对应的振动强度;参考点频率键值对用于指示目标参考点对应的振动频率;参考点马达键值对用于指示参考点对应的马达,参考点马达键值对的优先级高于振动部位键值对。
在一种实施方式中,振动调用参数的文件格式属于第二格式,振动调用参数包括以下至少一个块:头部信息块、马达信息块、元数据块、振动时序块、振动事件块、参考点块、振动参数块;
其中,头部信息块用于描述振动调用参数;马达信息块用于指示被调用的马达;元数据块用于指示振动调用参数的摘要;振动时序块用于指示至少一个振动事件的顺序;振动事件块用于指示振动事件的关联参数;参考点块用于指示参考点关联的振动输出参数;振动参数块用于指示不同振动类型对应的描述信息;每个块对应的存储区域不同,每个存储区域包括一个或多个存储空间,每个存储空间对应一个预设的偏移地址。
在一种实施方式中,头部信息块携带了以下至少一个存储空间中的值:文件标识存储空间中的值,文件数据长度存储空间中的值;
其中,文件标识存储空间中的值用于指示振动调用参数的文件标识;文件数据长度存储空间中的值用于指示振动调用参数的文件数据长度。
在一种实施方式中,马达信息块携带了以下至少一个存储空间中的值:马达信息块标识存储空间中的值、马达信息块数据长度存储空间中的值、振动输出方标识存储空间中的值、马达版本号存储空间中的值、马达数量存储空间中的值;
其中,马达信息块标识存储空间中的值用于指示马达信息块的标识;马达信息块数据长度存储空间中的值用于指示马达信息块的数据长度;振动输出方标识存储空间中的值用于指示振动输出方的标识;马达版本号存储空间中的值用于指示输出目标振动是否需要调用多个马达;马达数量存储空间中的值用于指示输出目标振动是所需调用的马达的数量。
在一种实施方式中,元数据块携带了以下至少一个存储空间中的值:元数据块标识存储空间中的值、元数据块数据长度的存储空间中的值、振动调用参数版本号存储空间中的值、振动调用参数创建时间存储空间中的值、振动调用参数描述信息存储空间中的值;
其中,元数据块标识存储空间中的值用于指示元数据块的标识;元数据块数据长度的存储空间中的值用于指示元数据块的数据长度;振动调用参数版本号存储空间中的值用于指示振动调用参数的版本号;振动调用参数创建时间存储空间中的值用于指示振动调用参数的创建时间;振动调用参数描述信息存储空间中的值用于指示振动调用参数的描述信息。
在一种实施方式中,振动时序块携带了以下至少一个存储空间中的值:振动时序块标识存储空间中的值,振动时序块数据长度存储空间中的值;
其中,振动时序块标识存储空间中的值用于指示振动时序块的标识;振动时序块数据长度存储空间中的值用于指示振动时序块的数据长度。
在一种实施方式中,振动时序块关联了至少一个振动事件块,每个振动事件块对应的存储区域不同;每个振动事件块携带了以下至少一个存储空间中的值:振动事件块标识存储空间中的值、振动事件类型存储空间中的值、振动事件块编号存储空间中的值、马达标识存储空间中的值、振动事件起始时间存储空间中的值、振动事件持续时间存储空间中的值、振动强度标志存储空间中的值、振动频率标志存储空间中的值;
其中,振动事件块标识存储空间中的值用于指示振动事件块的标识;振动事件类型存储空间中的值用于指示振动事件块所对应的振动的振动类型;振动事件块编号存储空间中的值用于指示振动事件块的编号;马达标识存储空间中的值用于指示输出振动事件块所对应的振动所需调用的马达;振动事件起始时间存储空间中的值用于指示振动事件块所对应的振动的起始时间;振动事件持续时间存储空间中的值用于指示振动事件块所对应的振动的持续时间;振动强度标志存储空间中的值用于指示振动事件块所对应的振动的振动强度指示方式;振动频率标志存储空间中的值用于指示振动事件块所对应的振动的振动频率指示方式。
在一种实施方式中,当振动事件块对应的振动的振动类型为第一类型时,振动事件块关联了至少一个参考点块,每个参考点块对应的存储区域不同,每个参考点块携带了以下至少一个存储空间中的值:参考点块标识存储空间中的值、参考点块序号存储空间中的值、马达编号存储空间中的值、参考点起始时间存储空间中的值、参考点振动强度存储空间中的值、参考点振动频率存储空间中的值;
其中,参考点块标识存储空间中的值用于指示参考点块的标识;参考点块序号存储空间中的值用于指示参考点块的序号;马达编号存储空间中的值用于指示输出参考点块对应的振动所需调用的马达;参考点起始时间存储空间中的值用于指示参考点块对应的振动的起始时间;参考点振动强度存储空间中的值用于指示参考点块对应的振动的振动强度;参考点振动频率存储空间中的值用于指示参考点块对应的振动的振动频率。
在一种实施方式中,振动事件块还关联了第一振动参数块,第一振动参数块携带了以下至少一个存储空间中的值:振动参数块标识存储空间中的值,参考点数量存储空间中的值;
其中,振动参数块标识存储空间中的值用于指示第一振动参数块的标识;参考点数量存储空间中的值用于指示振动事件块关联的参考点块的数量。
在一种实施方式中,当振动事件块对应的振动事件的振动类型为第二类型时,振动事件块关联了第二振动参数块;第二振动参数块携带了以下至少一个存储空间中的值:振动参数块标识存储空间中的值,事件振动强度存储空间中的值,事件振动频率存储空间中的值;
其中,振动参数块标识存储空间中的值用于指示第二振动参数块的标识;事件振动强度存储空间中的值用于指示振动事件块对应的振动的振动强度;事件振动频率存储空间中的值用于指示振动事件块对应的振动的振动频率。
相应地,本申请提供了一种计算机设备,该计算机设备包括:
存储器,存储器中存储有计算机程序;
处理器,用于加载计算机程序实现上述振动控制方法。
相应地,本申请提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行上述振动控制方法。
相应地,本申请提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述振动控制方法。
本申请实施例中,响应于目标振动的参数生成条件被触发,振动调用方按照参考编码方式生成目标振动对应的振动调用参数,振动调用方搭载有振动中间件,通过振动参数接口将振动调用参数传递至振动中间件,以通过振动中间件将振动调用参数发送至一个或多个振动输出方,并使各振动输出方解析振动调用参数,以及基于解析结果输出目标振动。可见,振动调用方(如客户端)通过振动中间件向振动输出方发送振动调用参数,可以统一振动调用方的振动调用接口,进而提高振动调用的便捷性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种振动控制***的架构图;
图2为本申请实施例提供的一种振动控制方法的流程图;
图3为本申请实施例提供的另一种振动控制方法的流程图;
图4为本申请实施例提供的一种振动调用参数的发送示意图;
图5为本申请实施例提供的一种振动控制装置的结构示意图;
图6为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,图1为本申请实施例提供的一种振动控制***的架构图。如图1所示,该振动控制***可以包括:振动调用方101和振动输出方102。本申请实施例提供的振动控制方法可由振动调用方101执行。在具体实现中,振动调用方101和振动输出方102可以同时属于一个终端设备,也可以分别属于两个不同的终端设备;例如,振动调用方101可以是终端设备中的客户端,振动输出方102可以是终端设备中的马达;又例如,振动调用方101可以是终端设备1(如电脑)中的客户端,振动输出方可以是终端设备2(如游戏手柄、可穿戴设备等)中的马达。终端设备可以包括但不限于:智能手机(如Android手机、IOS手机等)、平板电脑、便携式个人计算机、智能家电、车载终端、可穿戴等智能设备,本申请实施例对此不做限定。
需要说明的是,振动输出方的数量可以是一个或多个,且当振动输出方的数量为多个时,每个振动输出方的振动调用接口可以互不相同;例如,一个电脑(振动调用方)可以连接多个手柄(振动输出方)。振动调用方101和振动输出方102之间可以通过有线通信或者无线通信方式进行直接或间接地连接,本申请在此不做限制。
振动控制方案的大致原理如下:
(1)响应于目标振动的参数生成条件被触发,振动调用方101按照参考编码方式生成目标振动对应的振动调用参数。其中,振动调用方101搭载有振动中间件,振动中间件用于将振动调用方101传递的振动调用参数发送给一个或多个振动输出方。
参考编码方式具体可以是指振动HE格式的编码方式,也可以是指振动HEC格式的编码方式,还可以是指其他用于指示振动效果的编码方式。振动HE格式一种文件的格式,该文件携带了振动调用参数,该文件的后缀为“.he”,振动输出方可以按照振动HE格式的文件中振动调用参数的指示输出对应的振动效果;振动HEC格式是振动HE格式的压缩表示;也就是说,振动HEC格式的文件是对振动HE格式的文件进行压缩得到的,振动HEC格式的文件同样携带了振动调用参数,该文件的后缀为“.hec”,振动输出方可以按照振动HEC格式的文件中振动调用参数的指示输出对应的振动效果。
在一种实施方式中,振动HE格式的文件是通过键值对的形式来指示振动效果的,振动HE格式的文件的数据组织形式可以是json格式。振动HEC格式的文件是通过预先设定在一片存储区域中各个特定偏移地址指示的存储空间中的值的含义,来指示振动效果的。也就是说,振动中间件与终端设备共同知晓某一片存储区域中各个特定偏移地址指示的存储空间中的值的含义,在此情况下,“.hec”格式的文件中只用存储“.he”格式的文件中各个键值对的值(value),而不必存储其对应的键(key)。
可以理解的是,通过“.he”格式的文件来指示振动效果,不依赖于特定的存储区域,传递的信息更加完整清晰,可读性更高;而通过“.hec”格式的文件来指示振动效果相较通过“.he”格式的文件来指示振动效果而言,节省了传输带宽,提高了传输速度,同时节省了存储空间。
(2)振动调用方101通过振动参数接口将振动调用参数传递至振动中间件;需要说明的是,对于不同振动调用方来说,用于向振动中间件传递振动调用参数的振动参数接口是相同的。
在一种实施方式中,若振动调用方101传递的振动调用参数的文件格式不属于目标格式,则振动中间件对振动调用参数进行格式转换处理,得到更新后的振动调用参数,并向一个或多个振动输出方发送更新后的振动调用参数。其中,更新后的振动调用参数属于目标格式,目标格式具体可以是“.he”格式和“.hec”格式中的至少一种。
在另一种实施方式中,若振动调用方101传递的振动调用参数的文件格式属于目标格式,则振动中间件可以直接将振动调用参数发送给一个或多个振动输出方。具体地,振动中间件向各个振动输出方提供的用于支持目标格式文件的接口,发送属于目标格式的振动调用参数。
(3)振动输出方102在接收到属于目标格式的振动调用参数后,可以对振动调用参数进行解析,并基于解析结果输出目标振动。可以理解的是,各振动输出方均需要支持(能够解析)“.he”格式和“.hec”格式中的至少一种。
本申请实施例中,响应于目标振动的参数生成条件被触发,振动调用方按照参考编码方式生成目标振动对应的振动调用参数,振动调用方搭载有振动中间件,通过振动参数接口将振动调用参数传递至振动中间件,以通过振动中间件将振动调用参数发送至一个或多个振动输出方,并使各振动输出方解析振动调用参数,以及基于解析结果输出目标振动。可见,振动调用方(如客户端)通过振动中间件向振动输出方发送振动调用参数,可以统一振动调用方的振动调用接口,进而提高振动调用的便捷性。此外,通过振动中间件还可以对振动调用参数进行格式转换,进一步提高了振动调用参数的兼容性和振动调用的便捷性。
基于上述振动控制方案,本申请实施例提出更为详细的振动控制方法,下面将结合附图对本申请实施例提出的振动控制方法进行详细介绍。
请参阅图2,图2为本申请实施例提供的一种振动控制方法的流程图,该振动控制方法可以由计算机设备执行,该计算机设备可以是图1中所示的终端设备。如图2所示,该振动控制方法可包括如下步骤S201-S202。
S201、响应于目标振动的参数生成条件被触发,振动调用方按照参考编码方式生成目标振动对应的振动调用参数。
目标振动的参数生成条件可以根据实际需求进行设置,本申请对此不作限定。例如,目标振动的参数生成条件可以是计算机设备中的社交应用软件获取到新消息,目标振动的参数生成条件也可以是计算机设备中的游戏软件中的目标事件被触发,目标振动的参数生成条件还可以是计算机设备检测到当前时刻与预设时刻匹配等。
振动调用方可以是指计算机设备,也可以是指计算机设备中装载的客户端;例如,在计算机设备与可穿设备连接的场景下,计算机设备可以是振动调用方,可穿戴设备可以是振动输出方;又例如,在计算机设备装载有马达的场景下,计算机设备中的客户端可以是振动调用方,计算机设备中的马达可以是振动输出方。
参考编码方式具体可以是指振动HE格式的编码方式,也可以是指振动HEC格式的编码方式,还可以是指其他用于指示振动效果的编码方式。其中,振动HE格式一种文件的格式,该文件携带了振动调用参数,该文件的后缀为“.he”,振动输出方可以按照振动HE格式的文件中振动调用参数的指示输出对应的振动效果;振动HEC格式是振动HE格式的压缩表示;也就是说,振动HEC格式的文件是对振动HE格式的文件进行压缩得到的,振动HEC格式的文件同样携带了振动调用参数,该文件的后缀为“.hec”,振动输出方可以按照振动HEC格式的文件中振动调用参数的指示输出对应的振动效果。
在一种实施方式中,振动HE格式的文件是通过键值对的形式来指示振动效果的,振动HE格式的文件的数据组织形式可以是轻量级的数据交换格式(如json格式)。振动HEC格式的文件是通过预先设定在一片存储区域中各个特定偏移地址指示的存储空间中的值的含义,来指示振动效果的。也就是说,振动中间件与终端设备共同知晓某一片存储区域中各个特定偏移地址指示的存储空间中的值的含义,在此情况下,“.hec”格式的文件中只用存储“.he”格式的文件中各个键值对的值(value),而不必存储其对应的键(key)。
可以理解的是,通过“.he”格式的文件来指示振动效果,不依赖于特定的存储区域,传递的信息更加完整清晰,可读性更高;而通过“.hec”格式的文件来指示振动效果相较通过“.he”格式的文件来指示振动效果而言,节省了传输带宽,提高了传输速度,同时节省了存储空间。
振动调用参数用于指示振动输出方按照指示的振动效果输出目标振动。振动调用方搭载有振动中间件,振动中间件用于将振动调用方传递的振动调用参数发送给一个或多个振动输出方。
可选的,振动调用方和振动中间件可以相互独立;例如,振动调用方可以是计算机设备中的任一个客户端,振动中间件是集成在计算机设备中的软件开发工具包(SoftwareDevelopment Kit,SDK)。也就是说,计算机设备中的不同客户端均可以通过计算机设备中的振动中间件向一个或多个振动输出方发送振动调用参数。
S202、通过振动参数接口将振动调用参数传递至振动中间件,以通过振动中间件将振动调用参数发送至一个或多个振动输出方。
对于不同振动调用方来说,用于向振动中间件传递振动调用参数的振动参数接口是相同的(即振动参数接口统一)。
在一种实施方式中,若振动调用方传递的振动调用参数的文件格式不属于目标格式,则振动中间件对振动调用参数进行格式转换处理,得到更新后的振动调用参数,并向一个或多个振动输出方发送更新后的振动调用参数。其中,更新后的振动调用参数属于目标格式,目标格式具体可以是“.he”格式和“.hec”格式中的至少一种。
在另一种实施方式中,若振动调用方传递的振动调用参数的文件格式属于目标格式,则振动中间件可以直接将振动调用参数发送给一个或多个振动输出方。具体地,振动中间件向各个振动输出方提供的用于支持目标格式文件的接口,发送属于目标格式的振动调用参数,各个振动输出方提供的用于支持目标格式文件的接口可以相同或者不同。
进一步地,振动输出方在接收到属于目标格式的振动调用参数后,可以对振动调用参数进行解析,并基于解析结果输出目标振动。可以理解的是,各振动输出方均需要支持(能够解析)“.he”格式和“.hec”格式中的至少一种。
本申请实施例中,响应于目标振动的参数生成条件被触发,振动调用方按照参考编码方式生成目标振动对应的振动调用参数,振动调用方搭载有振动中间件,通过振动参数接口将振动调用参数传递至振动中间件,以通过振动中间件将振动调用参数发送至一个或多个振动输出方,并使各振动输出方解析振动调用参数,以及基于解析结果输出目标振动。可见,振动调用方(如客户端)通过振动中间件向振动输出方发送振动调用参数,可以统一振动调用方的振动调用接口,进而提高振动调用的便捷性。此外,通过振动中间件还可以对振动调用参数进行格式转换,进一步提高了振动调用参数的兼容性和振动调用的便捷性。
请参阅图3,图3为本申请实施例提供的另一种振动控制方法的流程图,该振动控制方法可以由计算机设备执行,该计算机设备可以是图1中所示的终端设备。如图3所示,该振动控制方法可包括如下步骤S301-S304。
S301、响应于目标振动的参数生成条件被触发,振动调用方按照参考编码方式生成目标振动对应的振动调用参数。
步骤S301的具体实施方式可参考图2中步骤S201的实施方式,在此不再赘述。
S302、通过振动参数接口将振动调用参数传递至振动中间件。
对于不同振动调用方来说,用于向振动中间件传递振动调用参数的振动参数接口是相同的(即振动参数接口统一)。
S303、通过振动中间件对振动调用参数进行格式转换处理,得到更新后的振动调用参数。
在一种实施方式中,振动调用方传递的振动调用参数的文件格式不属于目标格式,例如,振动调用方传递的振动调用参数的文件格式不属于“.he”格式或者“.hec”格式。计算机设备一方面通过振动中间件将振动调用参数按照目标格式对应的参数转换规则进行转换;例如,假设转换前的振动调用参数中振动强度通过等级指示,振动强度为七级,且目标格式对应的参数转换规则为:在目标格式下振动强度通过振动输出方的最大振动功率的百分比进行指示,七级振动强度对应的转换振动强度百分比为70%,则转换后的振动调用参数中振动强度为70%。另一方面,计算机设备通过振动中间件按照目标格式对应的数据组织形式对参数转换结果进行构造;例如,假设转换前的振动调用参数通过两组不同的参数来指示调用两个不同的马达输出振动,转换后的振动调用参数可以通过优先级来指示调用两个不同的马达输出振动。
下面对“.he”格式和“.hec”格式的数据组织形式进行详细介绍:
(1)“.he”格式:“.he”格式的数据组织形式为轻量级的数据交换格式,如“json格式”;本申请实施例提供的一种“.he”格式的代码示例如下:
/>
其中,各个键值对的值仅用于举例,并不构成本申请的实际限定,下面对上述代码中的各个键值对进行详细说明:
“.he”格式的振动调用参数为一个对象,内部第一层包括元数据键值对(元数据键为“Metadata”)和模式键值对(模式键为“Pattern”)两对键值对。具体地,元数据键值对(元数据键为“Metadata”)用于指示振动调用参数中的元数据,元数据可以理解为振动调用参数的基础信息,元数据键值对的值为摘要对象,摘要对象包括以下至少一个键值对:版本键值对(版本键为“Version”)、创建时间键值对(创建时间键为“Created”)、描述信息键值对(描述信息键为“Description”)。其中,版本键值对用于指示振动调用参数对应的版本号,版本键值对的值(value)的数据类型为整型(int);创建时间键值对用于指示振动调用参数的创建时间,创建时间键值对的值(value)的数据类型为字符串(String)类型;描述信息键值对用于描述振动调用参数的振动效果(即目标振动的描述信息),描述信息键值对的值(value)的数据类型为字符串(String)类型。
模式键值对(模式键为“Pattern”)用于指示振动模式,模式键值对的值为至少一个数组元素,每个数组元素的值为一个事件对象,每个事件对象用于指示一段连续的振动。表1为本申请实施例提供的一种事件对象中各个键值对的描述:
表1
/>
如表1所示,事件对象包括以下至少一个键值对:振动部位键值对(振动部位键为“Position”)、振动类型键值对(振动类型键为“Type”)、振动时间键值对(振动时间键为“RelativeTime”)、持续时间键值对(持续时间键为“RelativeTime”)、强度标志键值对(强度标志键为“AbsIntensityFlag”)、频率标志键值对(频率标志键为“AbsFrequencyFlag”)、振动描述参数键值对(振动描述参数键为“Parameters”);其中,振动部位键值对用于指示输出事件对象指示的振动时调用的马达,振动部位键值对的值(value)的数据类型为整型(int);振动类型键值对用于指示事件对象指示的振动的类型,振动类型键值对的值可以为:continuous(用于指示振动类型为持续振动),transient(用于指示振动类型为简短振动(振动时间长度小于时间长度阈值));振动时间键值对用于指示事件对象指示的振动的起始时间,在一种实现方式中,可以通过指示相对开始时间(如相对于当前时刻)来指示事件对象指示的振动的起始时间,振动时间键值对的值(value)的数据类型为整型(int),单位为ms;持续时间键值对用于指示事件对象指示的振动的持续时间,持续时间键值属于持续振动类型(即当振动类型键值对的值为continuous时,事件对象中才包括持续时间键值对),持续时间键值对的值(value)的数据类型为整型(int),单位为ms;强度标志键值对用于指示事件对象指示的振动的强度指示方式,强度标志键值对的值(value)的数据类型为布尔(boolean)型,强度指示方式可以包括相对强度和绝对强度,当强度标志键值对的值为第一设定值(如false)时,表示通过相对强度来指示振动强度,当强度标志键值对的值为第二设定值(如true)时,表示通过绝对强度来指示振动强度;类似地,频率标志键值对用于指示事件对象指示的振动的频率指示方式,频率标志键值对的值(value)的数据类型为布尔(boolean)型,频率指示方式可以包括相对频率和绝对频率,当频率标志键值对的值为第一设定值(如false)时,表示通过相对频率来指示振动频率,当频率标志键值对的值为第二设定值(如true)时,表示通过绝对频率来指示振动频率;振动描述参数键值对用于指示事件对象指示的振动的输出方式。
在一种实施方式中,振动描述参数键值对与振动类型键值对搭配使用,当振动类型键值对指示的振动类型为第一类型(持续振动类型)时,事件对象通过至少一个参考点指示振动,具体地,计算机设备可以基于至少一个参考点来指示振动曲线,使得振动输出方基于振动曲线输出振动。需要说明的是,振动曲线的第一个参考点不一定是振动强度为0的点(但第一个参考点可以是振动强度为0的点),而是振动输出方需要输出的初始振动效果;类似地,振动曲线的最后一个参考点不一定是振动强度为0的点(但最后一个参考点可以是振动强度为0的点)。当参考点的数量为1时,表示振动输出方按照该参考点的指示输出振动,并在时间阈值内停止振动。当振动类型键值对指示的振动类型为第一类型(持续振动类型)时,振动描述参数键值对(振动描述参数键为“Parameters”)的值包含参考点数量键值对(参考点数量键为“CurvePoints”)和N个参考点数组元素,每个参考点数组元素的值为一个参考点对象;参考点数量键值对用于指示事件对象关联的参考点的数量,N与事件对象关联的参考点的数量匹配,参考点数量键值对的值(value)的数据类型为整型(int);参考点对象用于指示该参考点关联的振动输出参数,详见表2:
表2
如表2所示,参考点对象包括以下至少一个键值对:参考点时间键值对(参考点时间键为“Time”)、参考点强度键值对(参考点强度键为“Intensity”)、参考点频率键值对(参考点频率键为“Frequency”)、参考点马达键值对(参考点马达键为“Position”);其中,参考点时间键值对用于指示参考点在事件对象指示的振动中的相对时间,参考点时间键值对的值(value)的数据类型为整型(int),单位为ms,举例来说,假设事件对象指示的振动持续时间为1000ms,当Time=100ms时,表示该参考点为事件对象指示的振动中第100ms对应的参考点;参考点强度键值对用于指示参考点对应的振动强度,参考点强度键值对的值(value)的数据类型为整型(int)具体来说,参考点强度键值对与事件对象中强度标志键值对联合使用,当强度标志键值对指示通过相对强度指示振动强度时,参考点强度键值对的值为相对于振动输出方的最大振动强度的百分比(范围为[0,100]),当强度标志键值对指示通过绝对强度指示振动强度时,参考点强度键值对的值为振动强度取值(大于等于0);参考点频率键值对用于指示参考点对应的振动频率,参考点频率键值对的值(value)的数据类型为整型(int),具体来说,参考点频率键值对与事件对象中频率标志键值对联合使用,当频率标志键值对指示通过相对频率指示振动频率时,参考点频率键值对的值为相对于振动输出方的最大振动频率的百分比(范围为[0,100]),当频率标志键值对指示通过绝对频率指示振动频率时,参考点频率键值对的值为振动频率取值(大于等于0);参考点马达键值对用于指示参考点对应的马达,即振动输出方输出参考点指示的振动时所需调用的马达,参考点马达键值对的值(value)的数据类型为整型(int),参考点马达键值对的优先级高于事件对象中的振动部位键值对,例如,当参考点马达键值对的值为1,振动部位键值对的值为2时,振动输出方在输出参考点指示的振动时调用标识为1的马达。
当振动类型键值对指示的振动类型为第二类型(简短振动类型)时,振动描述参数键值对的值包含振动强度键值对(振动强度键为“Intensity”)和振动频率键值对(振动频率键为“Frequency”);振动强度键值对用于指示目标事件对象指示的振动的强度,振动强度键值对的值(value)的数据类型为整型(int),具体来说,振动强度键值对与事件对象中强度标志键值对联合使用,当强度标志键值对指示通过相对强度指示振动强度时,振动强度键值对的值为相对于振动输出方的最大振动强度的百分比(范围为[0,100]),当强度标志键值对指示通过绝对强度指示振动强度时,振动强度键值对的值为振动强度取值(大于等于0);振动频率键值对用于指示目标事件对象指示的振动的频率,振动频率键值对的值(value)的数据类型为整型(int),具体来说,振动频率键值对与事件对象中频率标志键值对联合使用,当频率标志键值对指示通过相对频率指示振动频率时,振动频率键值对的值为相对于振动输出方的最大振动频率的百分比(范围为[0,100]),当频率标志键值对指示通过绝对频率指示振动频率时,振动频率键值对的值为振动频率取值(大于等于0)。
(2)“.hec”格式:“.hec”格式的数据组织形式可以为连续字符序列,“.hec”格式的振动调用参数包括以下至少一个块:头部信息块(Header块)、马达信息块(“Format块”)、元数据块(“Metadata块”)、振动时序块(“Pattern”块)、振动事件块(“Event”块)、参考点块(“Curve”块)、振动参数块(“Parameters块”);其中,头部信息块用于描述振动调用参数;马达信息块用于指示被调用的马达;元数据块用于指示振动调用参数的摘要;振动时序块用于指示至少一个振动事件的顺序;振动事件块用于指示振动事件的关联参数;参考点块用于指示参考点关联的振动输出参数;振动参数块用于指示不同振动类型对应的描述信息;每个块对应的存储区域不同,每个存储区域包括一个或多个存储空间,每个存储空间对应一个预设的偏移地址。下面分别对各个块进行详细说明:
A)头部信息块(Header块)对应的存储区域的含义如表3所示:
表3
/>
如表3所示,头部信息块携带了以下至少一个存储空间中的值:文件标识存储空间(偏移地址为00H)中的值,文件数据长度存储空间(偏移地址为04H)中的值;其中,文件标识存储空间中的值用于指示振动调用参数的文件标识(如"THEC"),以使振动输出方根据文件标识存储空间中的值确定振动调用参数的编码格式,文件标识存储空间的字节数为4,数据类型为字符型(char);文件数据长度存储空间中的值用于指示振动调用参数的文件数据长度,文件数据长度存储空间的字节数为4,数据类型为整型(int)。
B)马达信息块(“Format块”)对应的存储区域的含义如表4所示:
表4
如表4所示,马达信息块携带了以下至少一个存储空间中的值:马达信息块标识存储空间(偏移地址为00H)中的值、马达信息块数据长度存储空间(偏移地址为04H)中的值、振动输出方标识存储空间(偏移地址为08H)中的值、马达版本号存储空间(偏移地址为10H)中的值、马达数量存储空间(偏移地址为12H)中的值;其中,马达信息块标识存储空间中的值用于指示马达信息块的标识,马达信息块标识存储空间的字节数为4,数据类型为字符型(char);马达信息块数据长度存储空间中的值用于指示马达信息块的数据长度,马达信息块数据长度存储空间的字节数为4,数据类型为整型(int);振动输出方标识存储空间中的值用于指示振动输出方的标识,即振动输出方标识存储空间中的值用于指示能够解析(支持)振动调用参数的振动输出方,振动输出方标识存储空间的字节数为2,数据类型为短整型(short),在一个实施例中,当振动输出方标识存储空间中的值为第一设定值(如0)时,表示振动输出方为手机设备,当振动输出方标识存储空间中的值为第二设定值(如1)时,表示振动输出方为手柄设备;马达版本号存储空间中的值用于指示输出目标振动是否需要调用多个马达,马达版本号存储空间的字节数为2,数据类型为短整型(short),在一个实施例中,当马达版本号存储空间中的值为第一设定值(如V1)时,表示输出目标振动不需要调用多个(至少两个)马达,当马达版本号存储空间中的值为第二设定值(如V2)时,表示输出目标振动需要调用多个(至少两个)马达;马达数量存储空间中的值用于指示输出目标振动是所需调用的马达的数量,马达数量存储空间的字节数为2,数据类型为短整型(short),可以理解的是,当马达版本号存储空间中的值为第一设定值(如V1)时,马达数量存储空间中的值为1,当马达版本号存储空间中的值为第二设定值(如V2)时,马达数量存储空间中的值为大于1的整数。
C)元数据块(“Metadata块”)对应的存储区域的含义如表5所示:
表5
如表5所示,元数据块携带了以下至少一个存储空间中的值:元数据块标识存储空间(偏移地址为00H)中的值、元数据块数据长度的存储空间(偏移地址为04H)中的值、振动调用参数版本号存储空间(偏移地址为06H)中的值、振动调用参数创建时间存储空间(偏移地址为08H)中的值、振动调用参数描述信息存储空间(偏移地址为16H)中的值;其中,元数据块标识存储空间中的值用于指示元数据块的标识,元数据块标识存储空间的字节数为4,数据类型为字符型(char);元数据块数据长度的存储空间中的值用于指示元数据块的数据长度,元数据块数据长度的存储空间的字节数为4,数据类型为整型(int);振动调用参数版本号存储空间中的值用于指示振动调用参数的版本号,振动调用参数版本号存储空间中的值与“.he”格式的振动调用参数中版本键值对(键为Version)的值(value)相对应,振动调用参数版本号存储空间的字节数为2,数据类型为短整型(short);振动调用参数创建时间存储空间中的值用于指示振动调用参数的创建时间,振动调用参数创建时间存储空间中的值与“.he”格式的振动调用参数中创建时间键值对(键为Created)的值(value)相对应,振动调用参数创建时间存储空间的字节数为8,数据类型为长整型(long);振动调用参数描述信息存储空间中的值用于指示振动调用参数的描述信息,振动调用参数描述信息存储空间中的值与“.he”格式的振动调用参数中描述信息键值对(键为Description)的值(value)相对应,振动调用参数描述信息存储空间的字节数不固定,数据类型为字符型(char)。
D)振动时序块(“Pattern”块)对应的存储区域的含义如表6所示:
表6
如表6所示,振动时序块携带了以下至少一个存储空间中的值:振动时序块标识存储空间(偏移地址为00H)中的值,振动时序块数据长度存储空间(偏移地址为04H)中的值;其中,振动时序块标识存储空间中的值用于指示振动时序块的标识,振动时序块标识存储空间的字节数为4,数据类型为字符型(char);振动时序块数据长度存储空间中的值用于指示振动时序块的数据长度,振动时序块数据长度存储空间的字节数为4,数据类型为整型(int)。
振动时序块关联了至少一个振动事件块,每个振动事件块对应的存储区域不同,在一种实现方式中,计算机设备通过振动事件块的编号来指定各个振动事件块的时序。
E)振动事件块(“Event”块)对应的存储区域的含义如表7所示:
表7
如表7所示,振动事件块携带了以下至少一个存储空间中的值:振动事件块标识存储空间(偏移地址为00H)中的值、振动事件类型存储空间(偏移地址为03H)中的值、振动事件块编号存储空间(偏移地址为04H)中的值、马达标识存储空间中(偏移地址为06H)的值、振动事件起始时间存储空间(偏移地址为08H)中的值、振动事件持续时间存储空间(偏移地址为12H)中的值、振动强度标志存储空间(偏移地址为16H)中的值、振动频率标志存储空间(偏移地址为18H)中的值;其中,振动事件块标识存储空间中的值用于指示振动事件块的标识,振动事件块标识存储空间的字节数为3,数据类型为字符型(char);振动事件类型存储空间中的值用于指示振动事件块所对应的振动的振动类型,在一种实现方式中,当振动事件类型存储空间中的值为第一设定值(如0)时,表示该振动事件块所对应的振动的振动类型为简短振动类型,当振动事件类型存储空间中的值为第二设定值(如1)时,表示该振动事件块所对应的振动的振动类型为持续振动类型,振动事件类型存储空间的字节数为1,数据类型为短整型(short);振动事件块编号存储空间中的值用于指示振动事件块的编号,在一种实现方式中振动事件块的起始编号为1,振动事件块编号存储空间的字节数为2,数据类型为短整型(short);马达标识存储空间中的值用于指示输出振动事件块所对应的振动所需调用的马达,在一种实现方式中,马达的起始编号为1,马达标识存储空间的字节数为2,数据类型为短整型(short);振动事件起始时间存储空间中的值用于指示振动事件块所对应的振动的起始时间,振动事件起始时间存储空间的字节数为4,数据类型为整型(int);振动事件持续时间存储空间中的值用于指示振动事件块所对应的振动的持续时间,振动事件持续时间存储空间的字节数为4,数据类型为整型(int);振动强度标志存储空间中的值用于指示振动事件块所对应的振动的振动强度指示方式,振动强度标志存储空间的字节数为2,数据类型为短整型(short);振动频率标志存储空间中的值用于指示振动事件块所对应的振动的振动频率指示方式,振动频率标志存储空间的字节数为2,数据类型为短整型(short)。
当振动事件块对应的振动的振动类型为第一类型(持续振动类型)时,振动事件块关联了至少一个参考点块,每个参考点块对应的存储区域不同。在一种实施方式中,计算机设备通过参考点块的序号来指定各个参考点块对应的参考点在振动曲线中的位置顺序。
F)参考点块(“Curve”块)对应的存储区域的含义如表8所示:
表8
如表8所示,参考点块携带了以下至少一个存储空间中的值:参考点块标识存储空间(偏移地址为00H)中的值、参考点块序号存储空间(偏移地址为05H)中的值、马达编号存储空间(偏移地址为06H)中的值、参考点起始时间存储空间(偏移地址为08H)中的值、参考点振动强度存储空间(偏移地址为12H)中的值、参考点振动频率存储空间(偏移地址为14H)中的值;其中,参考点块标识存储空间中的值用于指示参考点块的标识,参考点块标识存储空间的字节数为5,数据类型为字符型(char);参考点块序号存储空间中的值用于指示参考点块的序号,参考点块的序号用于指示各个参考点块对应的参考点在振动曲线中的位置顺序,参考点块序号存储空间的字节数为1,数据类型为短整型(short);马达编号存储空间中的值用于指示输出参考点块对应的振动所需调用的马达,在一种实现方式中,计算机设备通过指示马达的编号来指示输出参考点块对应的振动所需调用的马达,马达的起始编号为1,当马达编号存储空间中的值为0时,表示指示输出参考点块对应的振动所需调用的马达与该参考点块关联的振动事件块中指示的马达相同,马达编号存储空间的字节数为2,数据类型为短整型(short);参考点起始时间存储空间中的值用于指示参考点块对应的振动的起始时间,参考点起始时间存储空间的字节数为4,数据类型为整型(int);参考点振动强度存储空间中的值用于指示参考点块对应的振动的振动强度,在一种实现方式中,若参考点块关联的振动事件块中振动强度标志存储空间中的值为第一设定值(如false),则参考点振动强度存储空间中的值为对振动事件块对应的振动的振动强度的缩减百分比,若参考点块关联的振动事件块中振动强度标志存储空间中的值为第二设定值(如true),则参考点振动强度存储空间中的值为振动强度数值,参考点振动强度存储空间的字节数为2,数据类型为短整型(short);参考点振动频率存储空间中的值用于指示参考点块对应的振动的振动频率,在一种实现方式中,若参考点块关联的振动事件块中振动频率标志存储空间中的值为第一设定值(如false),则参考点振动频率存储空间中的值为对振动事件块对应的振动的振动频率的增减,若参考点块关联的振动事件块中振动频率标志存储空间中的值为第二设定值(如ture),则参考点振动频率存储空间中的值为振动频率数值,参考点振动频率存储空间的字节数为2,数据类型为短整型(short)。
在一种实施方式中,当振动事件块关联多个(至少两个)参考点块时,第二个参考点块的起始偏移地址(参考点块序号存储空间对应的偏移地址)位于第一个参考点块参考点振动频率存储空间对应的偏移地址之后,例如,第一个参考点块中参考点振动频率存储空间对应的偏移地址为14H,第二个参考点块中参考点块序号存储空间对应的偏移地址为16H,需要说明的是,除第一个参考点块以外的其他参考点块中可以不包含参考点块标识存储空间。
G)当振动事件块对应的振动的振动类型为第一类型(持续振动类型)时,振动事件块还关联了第一振动参数块(“Parameters块”),第一振动参数块对应的存储区域的含义如表9所示:
表9
如表9所示,第一振动参数块携带了以下至少一个存储空间中的值:振动参数块标识存储空间(偏移地址为00H)中的值,参考点数量存储空间(偏移地址为05H)中的值;其中,振动参数块标识存储空间中的值用于指示第一振动参数块的标识,振动参数块标识存储空间的字节数为5,数据类型为字符型(char);参考点数量存储空间中的值用于指示振动事件块关联的参考点块的数量,参考点数量存储空间中的值为正整数,参考点数量存储空间的字节数为4,数据类型为整型(int)。
当振动事件块对应的振动的振动类型为第二类型(简短振动类型)时,振动事件块关联了第二振动参数块(“Parameters块”),第二振动参数块对应的存储区域的含义如表10所示:
表10
如表10所示,第二振动参数块携带了以下至少一个存储空间中的值:振动参数块标识存储空间(偏移地址为00H)中的值,事件振动强度存储空间(偏移地址为05H)中的值,事件振动频率存储空间(偏移地址为07H)中的值;其中,振动参数块标识存储空间中的值用于指示第二振动参数块的标识,振动参数块标识存储空间的字节数为5,数据类型为字符型(char);事件振动强度存储空间中的值用于指示振动事件块对应的振动的振动强度,在一种实现方式中,若第二振动参数块关联的振动事件块中振动强度标志存储空间中的值为第一设定值(如false),则事件振动强度存储空间中的值为对振动事件块对应的振动的振动强度的缩减百分比,若第二振动参数块关联的振动事件块中振动强度标志存储空间中的值为第二设定值(如true),则事件振动强度存储空间中的值为振动强度数值,事件振动强度存储空间的字节数为2,数据类型为短整型(short);事件振动频率存储空间中的值用于指示振动事件块对应的振动的振动频率,在一种实现方式中,若第二振动参数块关联的振动事件块中振动频率标志存储空间中的值为第一设定值(如false),则事件振动频率存储空间中的值为对振动事件块对应的振动的振动频率的增减,若第二振动参数块关联的振动事件块中振动频率标志存储空间中的值为第二设定值(如ture),则事件振动频率存储空间中的值为振动频率数值,事件振动频率存储空间的字节数为2,数据类型为短整型(short)。
S304、通过振动中间件将振动调用参数发送至一个或多个振动输出方。
各个振动输出方用于接收振动调用参数的接口可以相同或不同,当各个振动输出方用于接收振动调用参数的接口不同时,振动中间件将振动调用参数分别发送给各个振动输出方用于接收振动调用参数的接口。图4为本申请实施例提供的一种振动调用参数的发送示意图,如图4所示,振动调用方通过统一接口将振动调用参数传递至振动中间件,振动中间件在得到属于目标格式的振动调用参数后,将振动调用参数分别发送给各个振动输出方用于接收振动调用参数的接口。
本申请实施例中,响应于目标振动的参数生成条件被触发,振动调用方按照参考编码方式生成目标振动对应的振动调用参数,振动调用方搭载有振动中间件,通过振动参数接口将振动调用参数传递至振动中间件,以通过振动中间件将振动调用参数发送至一个或多个振动输出方,并使各振动输出方解析振动调用参数,以及基于解析结果输出目标振动。可见,振动调用方(如客户端)通过振动中间件向振动输出方发送振动调用参数,可以统一振动调用方的振动调用接口,进而提高振动调用的便捷性。此外,通过振动中间件还可以对振动调用参数进行格式转换,进一步提高了振动调用参数的兼容性和振动调用的便捷性;“.he”格式和“.hec”格式的振动调用参数通过指示振动曲线中的参考点能够准确指示变换的振动,并对振动调用参数中各个字段(键值对)的含义进行统一定义,统一了振动中间件与不同的振动输出方的接口进行交互时传递信息的格式,为振动效果的定义提供了一种共识通用的解决方案。
上述详细阐述了本申请实施例的方法,为了便于更好地实施本申请实施例的上述方案,相应地,下面提供了本申请实施例的装置。
请参见图5,图5为本申请实施例提供的一种振动控制装置的结构示意图,图5所示的振动控制装置可以用于执行上述图2和图3所描述的方法实施例中的部分或全部功能。请参见图5,该振动控制装置包括:
处理单元501,用于响应于目标振动的参数生成条件被触发,振动调用方按照参考编码方式生成目标振动对应的振动调用参数,振动调用方搭载有振动中间件;
发送单元502,用于通过振动参数接口将振动调用参数传递至振动中间件,以通过振动中间件将振动调用参数发送至一个或多个振动输出方,并使各振动输出方解析振动调用参数,以及基于解析结果输出目标振动。
在一种实施方式中,若振动调用参数的文件格式不属于目标格式,处理单元501还用于:
通过振动中间件对振动调用参数进行格式转换处理,得到更新后的振动调用参数;
其中,更新后的振动调用参数的文件格式属于目标格式。
在一种实施方式中,处理单元501用于,通过振动中间件对振动调用参数进行格式转换处理,得到更新后的振动调用参数,具体用于:
通过振动中间件将振动调用参数按照目标格式对应的参数转换规则进行转换;以及;
通过振动中间件按照目标格式对应的数据组织形式对参数转换结果进行构造,得到更新后的振动调用参数。
在一种实施方式中,目标格式包括第一格式和第二格式中的至少一种,第二格式是第一格式的压缩表示。
在一种实施方式中,振动调用参数的文件格式属于第一格式,振动调用参数包括元数据键值对和模式键值对,元数据键值对用于指示振动调用参数中的元数据;模式键值对用于指示振动模式。
在一种实施方式中,元数据键值对的值用于指示摘要对象,摘要对象包括以下至少一个键值对:版本键值对、创建时间键值对、描述信息键值对;
其中,版本键值对,用于指示振动调用参数对应的版本号;创建时间键值对用于指示振动调用参数的创建时间;描述信息键值对用于描述振动调用参数的振动效果。
在一种实施方式中,模式键值对的值为至少一个数组元素,每个数组元素的值为一个事件对象;目标事件对象包括以下至少一个键值对:振动部位键值对、振动时间键值对、持续时间键值对、强度标志键值对、频率标志键值对;目标事件对象为目标数组元素的值,目标数组元素为至少一个数组元素中的任一个;
其中,振动部位键值对用于指示输出目标事件对象指示的振动时调用的马达;振动时间键值对用于指示目标事件对象指示的振动的起始时间;持续时间键值对用于指示目标事件对象指示的振动的持续时间;强度标志键值对用于指示目标事件对象指示的振动的强度指示方式;频率标志键值对用于指示目标事件对象指示的振动的频率指示方式。
在一种实施方式中,目标事件对象包括强度标志键值对和频率标志键值对,且目标事件对象还包括振动类型键值对和振动描述参数键值对;振动类型键值对用于指示目标事件对象指示的振动的类型,振动描述参数键值对用于指示目标事件对象指示的振动的输出方式;
当振动类型键值对指示的振动类型为第一类型时,目标事件对象通过至少一个参考点指示目标振动,振动描述参数键值对的值包含参考点数量键值对和N个参考点数组元素,每个参考点数组元素的值为一个参考点对象;参考点数量键值对用于指示目标事件对象关联的参考点的数量,N与目标事件对象关联的参考点的数量匹配;目标参考点对象用于指示目标参考点关联的振动输出参数,目标参考对象为目标参考点数组元素的值,目标参考点数组元素为N个参考点数组元素中的任一个;
当振动类型键值对指示的振动类型为第二类型时,振动描述参数键值对的值包含振动强度键值对和振动频率键值对;振动强度键值对用于指示目标事件对象指示的振动的强度,振动频率键值对用于指示目标事件对象指示的振动的频率。
在一种实施方式中,目标参考点对象包括以下至少一个键值对:参考点时间键值对、参考点强度键值对、参考点频率键值对、参考点马达键值对;
其中,参考点时间键值对用于指示目标参考点在目标事件对象指示的振动中的相对时间;参考点强度键值对用于指示目标参考点对应的振动强度;参考点频率键值对用于指示目标参考点对应的振动频率;参考点马达键值对用于指示参考点对应的马达,参考点马达键值对的优先级高于振动部位键值对。
在一种实施方式中,振动调用参数的文件格式属于第二格式,振动调用参数包括以下至少一个块:头部信息块、马达信息块、元数据块、振动时序块、振动事件块、参考点块、振动参数块;
其中,头部信息块用于描述振动调用参数;马达信息块用于指示被调用的马达;元数据块用于指示振动调用参数的摘要;振动时序块用于指示至少一个振动事件的顺序;振动事件块用于指示振动事件的关联参数;参考点块用于指示参考点关联的振动输出参数;振动参数块用于指示不同振动类型对应的描述信息;每个块对应的存储区域不同,每个存储区域包括一个或多个存储空间,每个存储空间对应一个预设的偏移地址。
在一种实施方式中,头部信息块携带了以下至少一个存储空间中的值:文件标识存储空间中的值,文件数据长度存储空间中的值;
其中,文件标识存储空间中的值用于指示振动调用参数的文件标识;文件数据长度存储空间中的值用于指示振动调用参数的文件数据长度。
在一种实施方式中,马达信息块携带了以下至少一个存储空间中的值:马达信息块标识存储空间中的值、马达信息块数据长度存储空间中的值、振动输出方标识存储空间中的值、马达版本号存储空间中的值、马达数量存储空间中的值;
其中,马达信息块标识存储空间中的值用于指示马达信息块的标识;马达信息块数据长度存储空间中的值用于指示马达信息块的数据长度;振动输出方标识存储空间中的值用于指示振动输出方的标识;马达版本号存储空间中的值用于指示输出目标振动是否需要调用多个马达;马达数量存储空间中的值用于指示输出目标振动是所需调用的马达的数量。
在一种实施方式中,元数据块携带了以下至少一个存储空间中的值:元数据块标识存储空间中的值、元数据块数据长度的存储空间中的值、振动调用参数版本号存储空间中的值、振动调用参数创建时间存储空间中的值、振动调用参数描述信息存储空间中的值;
其中,元数据块标识存储空间中的值用于指示元数据块的标识;元数据块数据长度的存储空间中的值用于指示元数据块的数据长度;振动调用参数版本号存储空间中的值用于指示振动调用参数的版本号;振动调用参数创建时间存储空间中的值用于指示振动调用参数的创建时间;振动调用参数描述信息存储空间中的值用于指示振动调用参数的描述信息。
在一种实施方式中,振动时序块携带了以下至少一个存储空间中的值:振动时序块标识存储空间中的值,振动时序块数据长度存储空间中的值;
其中,振动时序块标识存储空间中的值用于指示振动时序块的标识;振动时序块数据长度存储空间中的值用于指示振动时序块的数据长度。
在一种实施方式中,振动时序块关联了至少一个振动事件块,每个振动事件块对应的存储区域不同;每个振动事件块携带了以下至少一个存储空间中的值:振动事件块标识存储空间中的值、振动事件类型存储空间中的值、振动事件块编号存储空间中的值、马达标识存储空间中的值、振动事件起始时间存储空间中的值、振动事件持续时间存储空间中的值、振动强度标志存储空间中的值、振动频率标志存储空间中的值;
其中,振动事件块标识存储空间中的值用于指示振动事件块的标识;振动事件类型存储空间中的值用于指示振动事件块所对应的振动的振动类型;振动事件块编号存储空间中的值用于指示振动事件块的编号;马达标识存储空间中的值用于指示输出振动事件块所对应的振动所需调用的马达;振动事件起始时间存储空间中的值用于指示振动事件块所对应的振动的起始时间;振动事件持续时间存储空间中的值用于指示振动事件块所对应的振动的持续时间;振动强度标志存储空间中的值用于指示振动事件块所对应的振动的振动强度指示方式;振动频率标志存储空间中的值用于指示振动事件块所对应的振动的振动频率指示方式。
在一种实施方式中,当振动事件块对应的振动的振动类型为第一类型时,振动事件块关联了至少一个参考点块,每个参考点块对应的存储区域不同,每个参考点块携带了以下至少一个存储空间中的值:参考点块标识存储空间中的值、参考点块序号存储空间中的值、马达编号存储空间中的值、参考点起始时间存储空间中的值、参考点振动强度存储空间中的值、参考点振动频率存储空间中的值;
其中,参考点块标识存储空间中的值用于指示参考点块的标识;参考点块序号存储空间中的值用于指示参考点块的序号;马达编号存储空间中的值用于指示输出参考点块对应的振动所需调用的马达;参考点起始时间存储空间中的值用于指示参考点块对应的振动的起始时间;参考点振动强度存储空间中的值用于指示参考点块对应的振动的振动强度;参考点振动频率存储空间中的值用于指示参考点块对应的振动的振动频率。
在一种实施方式中,振动事件块还关联了第一振动参数块,第一振动参数块携带了以下至少一个存储空间中的值:振动参数块标识存储空间中的值,参考点数量存储空间中的值;
其中,振动参数块标识存储空间中的值用于指示第一振动参数块的标识;参考点数量存储空间中的值用于指示振动事件块关联的参考点块的数量。
在一种实施方式中,当振动事件块对应的振动事件的振动类型为第二类型时,振动事件块关联了第二振动参数块;第二振动参数块携带了以下至少一个存储空间中的值:振动参数块标识存储空间中的值,事件振动强度存储空间中的值,事件振动频率存储空间中的值;
其中,振动参数块标识存储空间中的值用于指示第二振动参数块的标识;事件振动强度存储空间中的值用于指示振动事件块对应的振动的振动强度;事件振动频率存储空间中的值用于指示振动事件块对应的振动的振动频率。
根据本申请的一个实施例,图2和图3所示的振动控制方法所涉及的部分步骤可由图5所示的振动控制装置中的各个单元来执行。例如,图2中所示的步骤S201可由图5所示的处理单元501执行,步骤S202可由图5所示的发送单元502执行;图3中所示的步骤S301和步骤S303可由图5所示的处理单元501执行,步骤S302和步骤S304可由图5所示的发送单元502执行。图5所示的振动控制装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,振动控制装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机设备的通用计算装置上运行能够执行如图2和图3中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图5中所示的振动控制装置,以及来实现本申请实施例的振动控制方法。计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算装置中,并在其中运行。
基于同一发明构思,本申请实施例中提供的振动控制装置解决问题的原理与有益效果与本申请方法实施例中振动控制方法解决问题的原理和有益效果相似,可以参见方法的实施的原理和有益效果,为简洁描述,在这里不再赘述。
请参阅图6,图6为本申请实施例提供的一种计算机设备的结构示意图,该计算机设备可以是终端设备或者服务器。如图6所示,计算机设备至少包括处理器601、通信接口602和存储器603。其中,处理器601、通信接口602和存储器603可通过总线或其他方式连接。其中,处理器601(或称中央处理器(Central Processing Unit,CPU))是计算机设备的计算核心以及控制核心,其可以解析计算机设备内的各类指令以及处理计算机设备的各类数据,例如:CPU可以用于解析对象向计算机设备所发出的开关机指令,并控制计算机设备进行开关机操作;再如:CPU可以在计算机设备内部结构之间传输各类交互数据,等等。通信接口602可选的可以包括标准的有线接口、无线接口(如WI-FI、移动通信接口等),受处理器601的控制可以用于收发数据;通信接口602还可以用于计算机设备内部数据的传输以及交互。存储器603(Memory)是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的存储器603既可以包括计算机设备的内置存储器,当然也可以包括计算机设备所支持的扩展存储器。存储器603提供存储空间,该存储空间存储了计算机设备的操作***,可包括但不限于:安卓(Android)***、互联网操作***(Internetworking OperatingSystem,IOS)等等,本申请对此并不作限定。
本申请实施例还提供了一种计算机可读存储介质(Memory),计算机可读存储介质是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括计算机设备中的内置存储介质,当然也可以包括计算机设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了计算机设备的处理***。并且,在该存储空间中还存放了适于被处理器601加载并执行的计算机程序。需要说明的是,此处的计算机可读存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的,还可以是至少一个位于远离前述处理器的计算机可读存储介质。
在一个实施例中,处理器601通过运行存储器603中的计算机程序,执行如下操作:
响应于目标振动的参数生成条件被触发,振动调用方按照参考编码方式生成目标振动对应的振动调用参数,振动调用方搭载有振动中间件;
通过振动参数接口将振动调用参数传递至振动中间件,以通过振动中间件将振动调用参数发送至一个或多个振动输出方,并使各振动输出方解析振动调用参数,以及基于解析结果输出目标振动。
作为一种可选的实施例,若振动调用参数的文件格式不属于目标格式,处理器601通过运行存储器603中的计算机程序,还执行如下操作:
通过振动中间件对振动调用参数进行格式转换处理,得到更新后的振动调用参数;
其中,更新后的振动调用参数的文件格式属于目标格式。
作为一种可选的实施例,处理器601通过振动中间件对振动调用参数进行格式转换处理,得到更新后的振动调用参数的具体实施例为:
通过振动中间件将振动调用参数按照目标格式对应的参数转换规则进行转换;以及;
通过振动中间件按照目标格式对应的数据组织形式对参数转换结果进行构造,得到更新后的振动调用参数。
作为一种可选的实施例,目标格式包括第一格式和第二格式中的至少一种,第二格式是第一格式的压缩表示。
作为一种可选的实施例,振动调用参数的文件格式属于第一格式,振动调用参数包括元数据键值对和模式键值对,元数据键值对用于指示振动调用参数中的元数据;模式键值对用于指示振动模式。
作为一种可选的实施例,元数据键值对的值用于指示摘要对象,摘要对象包括以下至少一个键值对:版本键值对、创建时间键值对、描述信息键值对;
其中,版本键值对,用于指示振动调用参数对应的版本号;创建时间键值对用于指示振动调用参数的创建时间;描述信息键值对用于描述振动调用参数的振动效果。
作为一种可选的实施例,模式键值对的值为至少一个数组元素,每个数组元素的值为一个事件对象;目标事件对象包括以下至少一个键值对:振动部位键值对、振动时间键值对、持续时间键值对、强度标志键值对、频率标志键值对;目标事件对象为目标数组元素的值,目标数组元素为至少一个数组元素中的任一个;
其中,振动部位键值对用于指示输出目标事件对象指示的振动时调用的马达;振动时间键值对用于指示目标事件对象指示的振动的起始时间;持续时间键值对用于指示目标事件对象指示的振动的持续时间;强度标志键值对用于指示目标事件对象指示的振动的强度指示方式;频率标志键值对用于指示目标事件对象指示的振动的频率指示方式。
作为一种可选的实施例,目标事件对象包括强度标志键值对和频率标志键值对,且目标事件对象还包括振动类型键值对和振动描述参数键值对;振动类型键值对用于指示目标事件对象指示的振动的类型,振动描述参数键值对用于指示目标事件对象指示的振动的输出方式;
当振动类型键值对指示的振动类型为第一类型时,目标事件对象通过至少一个参考点指示目标振动,振动描述参数键值对的值包含参考点数量键值对和N个参考点数组元素,每个参考点数组元素的值为一个参考点对象;参考点数量键值对用于指示目标事件对象关联的参考点的数量,N与目标事件对象关联的参考点的数量匹配;目标参考点对象用于指示目标参考点关联的振动输出参数,目标参考对象为目标参考点数组元素的值,目标参考点数组元素为N个参考点数组元素中的任一个;
当振动类型键值对指示的振动类型为第二类型时,振动描述参数键值对的值包含振动强度键值对和振动频率键值对;振动强度键值对用于指示目标事件对象指示的振动的强度,振动频率键值对用于指示目标事件对象指示的振动的频率。
作为一种可选的实施例,目标参考点对象包括以下至少一个键值对:参考点时间键值对、参考点强度键值对、参考点频率键值对、参考点马达键值对;
其中,参考点时间键值对用于指示目标参考点在目标事件对象指示的振动中的相对时间;参考点强度键值对用于指示目标参考点对应的振动强度;参考点频率键值对用于指示目标参考点对应的振动频率;参考点马达键值对用于指示参考点对应的马达,参考点马达键值对的优先级高于振动部位键值对。
作为一种可选的实施例,振动调用参数的文件格式属于第二格式,振动调用参数包括以下至少一个块:头部信息块、马达信息块、元数据块、振动时序块、振动事件块、参考点块、振动参数块;
其中,头部信息块用于描述振动调用参数;马达信息块用于指示被调用的马达;元数据块用于指示振动调用参数的摘要;振动时序块用于指示至少一个振动事件的顺序;振动事件块用于指示振动事件的关联参数;参考点块用于指示参考点关联的振动输出参数;振动参数块用于指示不同振动类型对应的描述信息;每个块对应的存储区域不同,每个存储区域包括一个或多个存储空间,每个存储空间对应一个预设的偏移地址。
作为一种可选的实施例,头部信息块携带了以下至少一个存储空间中的值:文件标识存储空间中的值,文件数据长度存储空间中的值;
其中,文件标识存储空间中的值用于指示振动调用参数的文件标识;文件数据长度存储空间中的值用于指示振动调用参数的文件数据长度。
作为一种可选的实施例,马达信息块携带了以下至少一个存储空间中的值:马达信息块标识存储空间中的值、马达信息块数据长度存储空间中的值、振动输出方标识存储空间中的值、马达版本号存储空间中的值、马达数量存储空间中的值;
其中,马达信息块标识存储空间中的值用于指示马达信息块的标识;马达信息块数据长度存储空间中的值用于指示马达信息块的数据长度;振动输出方标识存储空间中的值用于指示振动输出方的标识;马达版本号存储空间中的值用于指示输出目标振动是否需要调用多个马达;马达数量存储空间中的值用于指示输出目标振动是所需调用的马达的数量。
作为一种可选的实施例,元数据块携带了以下至少一个存储空间中的值:元数据块标识存储空间中的值、元数据块数据长度的存储空间中的值、振动调用参数版本号存储空间中的值、振动调用参数创建时间存储空间中的值、振动调用参数描述信息存储空间中的值;
其中,元数据块标识存储空间中的值用于指示元数据块的标识;元数据块数据长度的存储空间中的值用于指示元数据块的数据长度;振动调用参数版本号存储空间中的值用于指示振动调用参数的版本号;振动调用参数创建时间存储空间中的值用于指示振动调用参数的创建时间;振动调用参数描述信息存储空间中的值用于指示振动调用参数的描述信息。
作为一种可选的实施例,振动时序块携带了以下至少一个存储空间中的值:振动时序块标识存储空间中的值,振动时序块数据长度存储空间中的值;
其中,振动时序块标识存储空间中的值用于指示振动时序块的标识;振动时序块数据长度存储空间中的值用于指示振动时序块的数据长度。
作为一种可选的实施例,振动时序块关联了至少一个振动事件块,每个振动事件块对应的存储区域不同;每个振动事件块携带了以下至少一个存储空间中的值:振动事件块标识存储空间中的值、振动事件类型存储空间中的值、振动事件块编号存储空间中的值、马达标识存储空间中的值、振动事件起始时间存储空间中的值、振动事件持续时间存储空间中的值、振动强度标志存储空间中的值、振动频率标志存储空间中的值;
其中,振动事件块标识存储空间中的值用于指示振动事件块的标识;振动事件类型存储空间中的值用于指示振动事件块所对应的振动的振动类型;振动事件块编号存储空间中的值用于指示振动事件块的编号;马达标识存储空间中的值用于指示输出振动事件块所对应的振动所需调用的马达;振动事件起始时间存储空间中的值用于指示振动事件块所对应的振动的起始时间;振动事件持续时间存储空间中的值用于指示振动事件块所对应的振动的持续时间;振动强度标志存储空间中的值用于指示振动事件块所对应的振动的振动强度指示方式;振动频率标志存储空间中的值用于指示振动事件块所对应的振动的振动频率指示方式。
作为一种可选的实施例,当振动事件块对应的振动的振动类型为第一类型时,振动事件块关联了至少一个参考点块,每个参考点块对应的存储区域不同,每个参考点块携带了以下至少一个存储空间中的值:参考点块标识存储空间中的值、参考点块序号存储空间中的值、马达编号存储空间中的值、参考点起始时间存储空间中的值、参考点振动强度存储空间中的值、参考点振动频率存储空间中的值;
其中,参考点块标识存储空间中的值用于指示参考点块的标识;参考点块序号存储空间中的值用于指示参考点块的序号;马达编号存储空间中的值用于指示输出参考点块对应的振动所需调用的马达;参考点起始时间存储空间中的值用于指示参考点块对应的振动的起始时间;参考点振动强度存储空间中的值用于指示参考点块对应的振动的振动强度;参考点振动频率存储空间中的值用于指示参考点块对应的振动的振动频率。
作为一种可选的实施例,振动事件块还关联了第一振动参数块,第一振动参数块携带了以下至少一个存储空间中的值:振动参数块标识存储空间中的值,参考点数量存储空间中的值;
其中,振动参数块标识存储空间中的值用于指示第一振动参数块的标识;参考点数量存储空间中的值用于指示振动事件块关联的参考点块的数量。
作为一种可选的实施例,当振动事件块对应的振动事件的振动类型为第二类型时,振动事件块关联了第二振动参数块;第二振动参数块携带了以下至少一个存储空间中的值:振动参数块标识存储空间中的值,事件振动强度存储空间中的值,事件振动频率存储空间中的值;
其中,振动参数块标识存储空间中的值用于指示第二振动参数块的标识;事件振动强度存储空间中的值用于指示振动事件块对应的振动的振动强度;事件振动频率存储空间中的值用于指示振动事件块对应的振动的振动频率。
基于同一发明构思,本申请实施例中提供的计算机设备解决问题的原理与有益效果与本申请方法实施例中视频处理方法解决问题的原理和有益效果相似,可以参见方法的实施的原理和有益效果,为简洁描述,在这里不再赘述。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序适于被处理器加载并执行上述方法实施例的视频处理方法。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,计算机程序适于被处理器加载并执行上述方法实施例的视频处理方法。
本申请实施例还提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的视频处理方法。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,可读存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
以上所揭露的仅为本申请一种较佳实施例而已,当然不能以此来限定本申请之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本申请权利要求所作的等同变化,仍属于申请所涵盖的范围。
Claims (20)
1.一种振动控制方法,其特征在于,所述方法包括:
响应于目标振动的参数生成条件被触发,振动调用方按照参考编码方式生成所述目标振动对应的振动调用参数,所述振动调用方搭载有振动中间件;
通过振动参数接口将所述振动调用参数传递至所述振动中间件,以通过所述振动中间件将所述振动调用参数发送至一个或多个振动输出方,并使各振动输出方解析所述振动调用参数,以及基于解析结果输出所述目标振动;
其中,所述振动调用参数的文件格式包括HE格式和HEC格式中的至少一种,所述HEC格式是所述HE格式的压缩表示。
2.如权利要求1所述的方法,其特征在于,若所述振动调用参数的文件格式不属于目标格式,所述方法还包括:
通过所述振动中间件对所述振动调用参数进行格式转换处理,得到更新后的振动调用参数;
其中,更新后的振动调用参数的文件格式属于所述目标格式。
3.如权利要求2所述的方法,其特征在于,所述通过所述振动中间件对所述振动调用参数进行格式转换处理,得到更新后的振动调用参数,包括:
通过所述振动中间件将所述振动调用参数按照所述目标格式对应的参数转换规则进行转换;以及;
通过所述振动中间件按照所述目标格式对应的数据组织形式对参数转换结果进行构造,得到更新后的振动调用参数。
4.如权利要求1-3任一项所述的方法,其特征在于,所述振动调用参数的文件格式属于HE格式,所述振动调用参数包括元数据键值对和模式键值对,所述元数据键值对用于指示所述振动调用参数中的元数据;所述模式键值对用于指示振动模式。
5.如权利要求4所述的方法,其特征在于,所述元数据键值对的值用于指示摘要对象,所述摘要对象包括以下至少一个键值对:版本键值对、创建时间键值对、描述信息键值对;
其中,所述版本键值对,用于指示所述振动调用参数对应的版本号;所述创建时间键值对用于指示所述振动调用参数的创建时间;所述描述信息键值对用于描述所述振动调用参数的振动效果。
6.如权利要求4所述的方法,其特征在于,所述模式键值对的值为至少一个数组元素,每个数组元素的值为一个事件对象;目标事件对象包括以下至少一个键值对:振动部位键值对、振动时间键值对、持续时间键值对、强度标志键值对、频率标志键值对;所述目标事件对象为目标数组元素的值,所述目标数组元素为所述至少一个数组元素中的任一个;
其中,所述振动部位键值对用于指示输出所述目标事件对象指示的振动时调用的马达;所述振动时间键值对用于指示所述目标事件对象指示的振动的起始时间;所述持续时间键值对用于指示所述目标事件对象指示的振动的持续时间;所述强度标志键值对用于指示所述目标事件对象指示的振动的强度指示方式;所述频率标志键值对用于指示所述目标事件对象指示的振动的频率指示方式。
7.如权利要求6所述的方法,其特征在于,所述目标事件对象包括所述强度标志键值对和所述频率标志键值对,且所述目标事件对象还包括振动类型键值对和振动描述参数键值对;所述振动类型键值对用于指示所述目标事件对象指示的振动的类型,所述振动描述参数键值对用于指示所述目标事件对象指示的振动的输出方式;
当所述振动类型键值对指示的振动类型为第一类型时,所述目标事件对象通过至少一个参考点指示所述目标振动,所述振动描述参数键值对的值包含参考点数量键值对和N个参考点数组元素,每个参考点数组元素的值为一个参考点对象;所述参考点数量键值对用于指示所述目标事件对象关联的参考点的数量,N与所述目标事件对象关联的参考点的数量匹配;目标参考点对象用于指示目标参考点关联的振动输出参数,所述目标参考对象为目标参考点数组元素的值,所述目标参考点数组元素为所述N个参考点数组元素中的任一个;
当所述振动类型键值对指示的振动类型为第二类型时,所述振动描述参数键值对的值包含振动强度键值对和振动频率键值对;所述振动强度键值对用于指示所述目标事件对象指示的振动的强度,所述振动频率键值对用于指示所述目标事件对象指示的振动的频率。
8.如权利要求7所述的方法,其特征在于,所述目标参考点对象包括以下至少一个键值对:参考点时间键值对、参考点强度键值对、参考点频率键值对、参考点马达键值对;
其中,所述参考点时间键值对用于指示所述目标参考点在所述目标事件对象指示的振动中的相对时间;所述参考点强度键值对用于指示所述目标参考点对应的振动强度;所述参考点频率键值对用于指示所述目标参考点对应的振动频率;所述参考点马达键值对用于指示所述参考点对应的马达,所述参考点马达键值对的优先级高于所述振动部位键值对。
9.如权利要求1-3任一项所述的方法,其特征在于,所述振动调用参数的文件格式属于HEC格式,所述振动调用参数包括以下至少一个块:头部信息块、马达信息块、元数据块、振动时序块、振动事件块、参考点块、振动参数块;
其中,所述头部信息块用于描述所述振动调用参数;所述马达信息块用于指示被调用的马达;所述元数据块用于指示所述振动调用参数的摘要;所述振动时序块用于指示至少一个振动事件的顺序;所述振动事件块用于指示振动事件的关联参数;所述参考点块用于指示参考点关联的振动输出参数;所述振动参数块用于指示不同振动类型对应的描述信息;每个块对应的存储区域不同,每个存储区域包括一个或多个存储空间,每个存储空间对应一个预设的偏移地址。
10.如权利要求9所述的方法,其特征在于,所述头部信息块携带了以下至少一个存储空间中的值:文件标识存储空间中的值,文件数据长度存储空间中的值;
其中,所述文件标识存储空间中的值用于指示所述振动调用参数的文件标识;所述文件数据长度存储空间中的值用于指示所述振动调用参数的文件数据长度。
11.如权利要求9所述的方法,其特征在于,所述马达信息块携带了以下至少一个存储空间中的值:马达信息块标识存储空间中的值、马达信息块数据长度存储空间中的值、振动输出方标识存储空间中的值、马达版本号存储空间中的值、马达数量存储空间中的值;
其中,所述马达信息块标识存储空间中的值用于指示所述马达信息块的标识;所述马达信息块数据长度存储空间中的值用于指示所述马达信息块的数据长度;所述振动输出方标识存储空间中的值用于指示振动输出方的标识;所述马达版本号存储空间中的值用于指示输出所述目标振动是否需要调用多个马达;所述马达数量存储空间中的值用于指示输出目标振动是所需调用的马达的数量。
12.如权利要求9所述的方法,其特征在于,所述元数据块携带了以下至少一个存储空间中的值:元数据块标识存储空间中的值、元数据块数据长度的存储空间中的值、振动调用参数版本号存储空间中的值、振动调用参数创建时间存储空间中的值、振动调用参数描述信息存储空间中的值;
其中,所述元数据块标识存储空间中的值用于指示所述元数据块的标识;所述元数据块数据长度的存储空间中的值用于指示所述元数据块的数据长度;所述振动调用参数版本号存储空间中的值用于指示所述振动调用参数的版本号;所述振动调用参数创建时间存储空间中的值用于指示所述振动调用参数的创建时间;所述振动调用参数描述信息存储空间中的值用于指示所述振动调用参数的描述信息。
13.如权利要求9所述的方法,其特征在于,所述振动时序块携带了以下至少一个存储空间中的值:振动时序块标识存储空间中的值,振动时序块数据长度存储空间中的值;
其中,所述振动时序块标识存储空间中的值用于指示所述振动时序块的标识;所述振动时序块数据长度存储空间中的值用于指示所述振动时序块的数据长度。
14.如权利要求13所述的方法,其特征在于,所述振动时序块关联了至少一个振动事件块,每个振动事件块对应的存储区域不同;每个振动事件块携带了以下至少一个存储空间中的值:振动事件块标识存储空间中的值、振动事件类型存储空间中的值、振动事件块编号存储空间中的值、马达标识存储空间中的值、振动事件起始时间存储空间中的值、振动事件持续时间存储空间中的值、振动强度标志存储空间中的值、振动频率标志存储空间中的值;
其中,所述振动事件块标识存储空间中的值用于指示所述振动事件块的标识;所述振动事件类型存储空间中的值用于指示所述振动事件块所对应的振动的振动类型;所述振动事件块编号存储空间中的值用于指示所述振动事件块的编号;所述马达标识存储空间中的值用于指示输出所述振动事件块所对应的振动所需调用的马达;所述振动事件起始时间存储空间中的值用于指示所述振动事件块所对应的振动的起始时间;所述振动事件持续时间存储空间中的值用于指示所述振动事件块所对应的振动的持续时间;所述振动强度标志存储空间中的值用于指示所述振动事件块所对应的振动的振动强度指示方式;所述振动频率标志存储空间中的值用于指示所述振动事件块所对应的振动的振动频率指示方式。
15.如权利要求14所述的方法,其特征在于,当所述振动事件块对应的振动的振动类型为第一类型时,所述振动事件块关联了至少一个参考点块,每个参考点块对应的存储区域不同,每个参考点块携带了以下至少一个存储空间中的值:参考点块标识存储空间中的值、参考点块序号存储空间中的值、马达编号存储空间中的值、参考点起始时间存储空间中的值、参考点振动强度存储空间中的值、参考点振动频率存储空间中的值;
其中,所述参考点块标识存储空间中的值用于指示所述参考点块的标识;所述参考点块序号存储空间中的值用于指示所述参考点块的序号;所述马达编号存储空间中的值用于指示输出所述参考点块对应的振动所需调用的马达;所述参考点起始时间存储空间中的值用于指示所述参考点块对应的振动的起始时间;所述参考点振动强度存储空间中的值用于指示所述参考点块对应的振动的振动强度;所述参考点振动频率存储空间中的值用于指示所述参考点块对应的振动的振动频率。
16.如权利要求15所述的方法,其特征在于,所述振动事件块还关联了第一振动参数块,所述第一振动参数块携带了以下至少一个存储空间中的值:振动参数块标识存储空间中的值,参考点数量存储空间中的值;
其中,所述振动参数块标识存储空间中的值用于指示所述第一振动参数块的标识;所述参考点数量存储空间中的值用于指示所述振动事件块关联的参考点块的数量。
17.如权利要求14所述的方法,其特征在于,当所述振动事件块对应的振动事件的振动类型为第二类型时,所述振动事件块关联了第二振动参数块;所述第二振动参数块携带了以下至少一个存储空间中的值:振动参数块标识存储空间中的值,事件振动强度存储空间中的值,事件振动频率存储空间中的值;
其中,所述振动参数块标识存储空间中的值用于指示所述第二振动参数块的标识;所述事件振动强度存储空间中的值用于指示所述振动事件块对应的振动的振动强度;所述事件振动频率存储空间中的值用于指示所述振动事件块对应的振动的振动频率。
18.一种振动控制装置,其特征在于,所述振动控制装置包括:
处理单元,用于响应于目标振动的参数生成条件被触发,振动调用方按照参考编码方式生成所述目标振动对应的振动调用参数,所述振动调用方搭载有振动中间件;
发送单元,用于通过振动参数接口将所述振动调用参数传递至所述振动中间件,以通过所述振动中间件将所述振动调用参数发送至一个或多个振动输出方,并使各振动输出方解析所述振动调用参数,以及基于解析结果输出所述目标振动;
其中,所述振动调用参数的文件格式包括HE格式和HEC格式中的至少一种,所述HEC格式是所述HE格式的压缩表示。
19.一种计算机设备,其特征在于,包括:存储器和处理器;
存储器,所述存储器中存储有计算机程序;
处理器,用于加载所述计算机程序实现如权利要求1-17任一项所述的振动控制方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于被处理器加载并执行如权利要求1-17任一项所述的振动控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310030099.9A CN117762532A (zh) | 2022-09-19 | 2022-09-19 | 一种振动控制方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310030099.9A CN117762532A (zh) | 2022-09-19 | 2022-09-19 | 一种振动控制方法、装置、设备及计算机可读存储介质 |
CN202211136014.7A CN115202767B (zh) | 2022-09-19 | 2022-09-19 | 一种振动控制方法、装置、设备及计算机可读存储介质 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211136014.7A Division CN115202767B (zh) | 2022-09-19 | 2022-09-19 | 一种振动控制方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117762532A true CN117762532A (zh) | 2024-03-26 |
Family
ID=83573707
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310030099.9A Pending CN117762532A (zh) | 2022-09-19 | 2022-09-19 | 一种振动控制方法、装置、设备及计算机可读存储介质 |
CN202211136014.7A Active CN115202767B (zh) | 2022-09-19 | 2022-09-19 | 一种振动控制方法、装置、设备及计算机可读存储介质 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211136014.7A Active CN115202767B (zh) | 2022-09-19 | 2022-09-19 | 一种振动控制方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN117762532A (zh) |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003300015A (ja) * | 2002-04-05 | 2003-10-21 | Nec Tokin Corp | 振動アクチュエータの駆動方法、及び携帯機器 |
US20200064444A1 (en) * | 2015-07-17 | 2020-02-27 | Origin Wireless, Inc. | Method, apparatus, and system for human identification based on human radio biometric information |
CN103870492B (zh) * | 2012-12-14 | 2017-08-04 | 腾讯科技(深圳)有限公司 | 一种基于键排序的数据存储方法和装置 |
KR101925034B1 (ko) * | 2017-03-28 | 2018-12-04 | 엘지전자 주식회사 | 스마트 컨트롤링 디바이스 및 그 제어 방법 |
CN109240617A (zh) * | 2018-09-03 | 2019-01-18 | 郑州云海信息技术有限公司 | 分布式存储***写请求处理方法、装置、设备及存储介质 |
CN113747232B (zh) * | 2019-03-28 | 2022-10-28 | 海信视像科技股份有限公司 | 一种移动终端向显示设备推送媒体文件的方法及显示设备 |
CN110597393B (zh) * | 2019-09-18 | 2023-05-05 | Oppo(重庆)智能科技有限公司 | 一种马达振动控制方法、装置及计算机可读存储介质 |
CN111568584A (zh) * | 2020-05-14 | 2020-08-25 | 无锡青禾小贝科技有限公司 | 一种基于牙刷电机振动力度的控制方法和装置 |
CN112121411A (zh) * | 2020-09-18 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 震动控制方法、装置、电子设备和计算机可读存储介质 |
CN113822017A (zh) * | 2021-06-03 | 2021-12-21 | 腾讯科技(深圳)有限公司 | 基于人工智能的音频生成方法、装置、设备及存储介质 |
CN114740981B (zh) * | 2022-04-25 | 2023-06-30 | 腾讯科技(深圳)有限公司 | 信息处理方法、装置、可读介质、电子设备及程序产品 |
CN115047972A (zh) * | 2022-06-16 | 2022-09-13 | 腾讯科技(深圳)有限公司 | 振动控制方法、装置、计算机设备及存储介质 |
-
2022
- 2022-09-19 CN CN202310030099.9A patent/CN117762532A/zh active Pending
- 2022-09-19 CN CN202211136014.7A patent/CN115202767B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115202767A (zh) | 2022-10-18 |
CN115202767B (zh) | 2022-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11611863B2 (en) | Method and apparatus for low energy discovery | |
KR102196192B1 (ko) | 전송 자원 지시 방법, 기지국, 유저 단말 및 시스템 | |
CN111954051B (zh) | 传输视频音频数据的方法、***、云端服务器和存储介质 | |
EP2701450A1 (en) | Method and apparatus for utilizing advertisements to provide information regarding connection setup | |
CN109831746B (zh) | 一种基于蓝牙广播进行数据传输的方法、装置及蓝牙设备 | |
CN109120687B (zh) | 数据包发送方法、装置、***、设备及存储介质 | |
CN112333186B (zh) | 数据通信方法、装置、设备及存储介质 | |
JP5753946B2 (ja) | フォントファイルをダウンロードする方法およびシステム | |
CN105141567A (zh) | 终端应用和服务端的交互数据处理方法及***、交互方法 | |
CN112231104A (zh) | 一种游戏数据处理方法及装置 | |
CN111562949B (zh) | 一种模型文件加载方法及装置 | |
CN113162977B (zh) | 一种信息处理方法及装置、设备、存储介质 | |
CN117762532A (zh) | 一种振动控制方法、装置、设备及计算机可读存储介质 | |
CN110347949A (zh) | 网页加载方法、装置、电子设备及计算机可读存储介质 | |
CN115834649A (zh) | 远程过程调用方法、装置及*** | |
CN109145619A (zh) | 一种Android应用程序资源加固方法及*** | |
CN114339325A (zh) | 一种基于安卓***的多引擎动态壁纸播放方法及装置 | |
CN110890957B (zh) | 一种密钥安全设备交互方法、电子设备和存储介质 | |
CN103605594B (zh) | 终端基础功能调用方法及装置 | |
CN113467823A (zh) | 一种配置信息的获取方法、装置、***及存储介质 | |
CN104572316A (zh) | 游戏程序与运行平台交互的方法和*** | |
CN110851327A (zh) | 硬件状态信息获取方法、装置、终端及可读存储介质 | |
WO2020039239A1 (zh) | 一种基于分享的多任务执行方法、装置和设备/终端/服务器 | |
CN113075993B (zh) | 视频显示方法、装置和存储介质及电子设备 | |
CN115586829B (zh) | 触觉振动控制方法、装置、电子设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |