一种业务处理方法、装置、设备及介质与流程

文档序号:32942819发布日期:2023-01-14 09:37阅读:34来源:国知局
一种业务处理方法、装置、设备及介质与流程

1.本技术涉及计算机技术领域,具体涉及应用程序领域,尤其涉及一种业务处理方法、一种业务处理装置、一种业务处理设备以及一种计算机可读存储介质。


背景技术:

2.在许多应用场景(如音乐播放场景、告警事件场景、游戏场景等)中,终端设备(如智能手机)可开启振动功能给用户带来振动体验。现有技术支持对单一的振动对象进行振动。
3.但实践发现,在真实的物理环境中往往可能同时存在多个振动对象需要进行振动,比如游戏内会存在玩家同时开车和开枪的场景,这种场景下,如果玩家只能感受到单一的振动,体验是不完整的。所以随着触感场景和玩法的不断丰富,在一些更复杂的场景下,需要触发多种不同的振动效果。因此,如何控制振动装置进行振动以达到丰富振动效果的目的成为研究的热点问题。


技术实现要素:

4.本技术实施例提供一种业务处理方法、装置、设备及介质,能够提高振动效果的真实性和灵活性。
5.一方面,本技术实施例提供一种业务处理方法,该方法包括:
6.识别目标应用中的目标业务场景;
7.若目标业务场景中包括需要振动的目标振动对象,则获取目标业务场景的振动描述文件,目标业务场景的振动描述文件中包括目标业务场景中的目标振动对象的振动参数,目标振动对象的振动参数包括目标振动对象的振动模式;目标振动对象的振动模式包括抢占模式或叠加模式;
8.获取终端设备中与目标振动对象匹配的目标振动装置的工作状态;
9.基于目标振动对象的振动模式和目标振动装置的工作状态生成振动指示信息;
10.将振动指示信息及振动描述文件发送至终端设备,以使终端设备在目标业务场景下按照振动指示信息和振动描述文件驱动目标振动装置进行振动。
11.一方面,本发明实施例提供了另一种业务处理方法,该方法包括:
12.接收目标应用发送的目标业务场景的振动描述文件和振动指示信息,所述目标业务场景的振动描述文件和振动指示信息是所述目标应用识别到所述目标业务场景中包括需要振动的目标振动对象时发送的,所述振动描述文件包括所述目标振动对象的振动参数,所述目标振动对象的振动参数包括所述目标振动对象的振动模式,所述振动模式包括抢占模式或叠加模式;
13.所述振动指示信息是基于所述目标振动对象的振动模式和目标振动装置的工作状态生成的,所述目标振动装置是指与所述目标振动对象匹配的振动装置;
14.从m个振动装置中定位所述目标振动装置,并在所述目标业务场景下按照所述振
动指示信息和所述振动描述文件驱动所述目标振动装置进行振动。
15.一方面,本发明实施例提供了又一种业务处理方法,该方法包括:
16.当识别到目标应用的目标业务场景中存在需要振动的目标振动对象时,获取所述目标业务场景的振动描述文件;所述目标业务场景的振动描述文件包括所述目标振动对象的振动参数,所述目标振动对象的振动参数包括所述目标振动对象的振动模式,所述目标振动对象的振动模式包括抢占模式或叠加模式;
17.获取与所述目标振动对象匹配的目标振动装置的工作状态,并基于所述目标振动对象的振动模式和所述目标振动装置的工作状态生成振动指示信息;
18.在所述目标业务场景下按照所述振动指示信息和所述振动描述文件驱动所述目标振动装置进行振动。
19.一方面,本技术实施例提供一种业务处理装置,该装置包括:
20.处理单元,用于识别目标应用中的目标业务场景;
21.获取单元,用于若目标业务场景中包括需要振动的目标振动对象,则获取目标业务场景的振动描述文件,目标业务场景的振动描述文件中包括目标业务场景中的目标振动对象的振动参数,目标振动对象的振动参数包括目标振动对象的振动模式;目标振动对象的振动模式包括抢占模式或叠加模式;
22.获取单元,还用于获取终端设备中与目标振动对象匹配的目标振动装置的工作状态;
23.处理单元,还用于基于目标振动对象的振动模式和目标振动装置的工作状态生成振动指示信息;
24.处理单元,还用于将振动指示信息及振动描述文件发送至终端设备,以使终端设备在目标业务场景下按照振动指示信息和振动描述文件驱动目标振动装置进行振动。
25.在一种实现方式中,处理单元,还用于:
26.按照目标业务场景的场景需求,配置目标振动对象的振动描述文件;
27.其中,目标振动对象的振动参数还包括目标振动对象的属性参数及目标振动对象的控制参数;属性参数包括以下任一种:位置信息、运动信息以及振动优先级;控制参数包括以下至少一种:振动开始时间、振动持续时间、振动结束时间、振动频率、振动强度。
28.在一种实现方式中,处理单元,用于获取终端设备中与目标振动对象相适配的目标振动装置的工作状态时,具体用于:
29.获取终端设备上报的m个振动控制装置的m个振动装置信息,一个振动控制装置的振动装置信息中包括一个振动控制装置负责进行振动管理的位置范围以及一个振动装置的工作状态;
30.根据目标振动对象的振动参数中包括的位置信息和m个振动装置信息,确定负责对目标振动对象进行振动管理的目标振动装置,并获取目标振动装置的工作状态。
31.在一种实现方式中,振动指示信息包括融合振动信息,处理单元,用于基于目标振动对象的振动模式和目标振动装置的工作状态生成振动指示信息时,具体用于:
32.若目标振动装置的工作状态为正在执行第一振动对象的振动,目标振动对象的振动模式包括叠加模式,则获取第一振动对象的振动模式;
33.如果第一振动对象的振动模式为叠加模式,则生成融合振动信息,融合振动信息
用于指示终端设备驱动目标振动装置对第一振动对象和目标振动对象进行融合振动。
34.在一种实现方式中,振动指示信息包括第一优先级振动信息,处理单元,用于基于目标振动对象的振动模式和目标振动装置的工作状态生成振动指示信息时,具体用于:
35.若目标振动装置的工作状态为正在执行第一振动对象的振动,目标振动对象的振动模式包括叠加模式,第一振动对象的振动模式为抢占模式,则生成第一优先级振动信息,第一优先级振动信息用于指示终端设备根据第一振动对象的振动优先级和目标振动对象的振动优先级,选择驱动目标振动装置对第一振动对象进行振动或者对目标振动对象进行振动。
36.在一种实现方式中,振动指示信息包括第二优先级振动信息,处理单元,用于基于目标振动对象的振动模式和目标振动装置的工作状态生成振动指示信息时,具体用于:
37.若目标振动装置的工作状态为正在执行第一振动对象的振动,目标振动对象的振动模式包括抢占模式,则生成第二优先级振动信息,第二优先级振动信息用于指示终端设备根据第一振动对象的振动优先级和目标振动对象的振动优先级,选择驱动目标振动装置对第一振动对象进行振动或者对目标振动对象进行振动。
38.在一种实现方式中,振动指示信息包括单独振动信息,处理单元,用于基于目标振动对象的振动模式和目标振动装置的工作状态生成振动指示信息时,具体用于:
39.若目标振动装置的工作状态为空闲状态,则生成单独振动信息,单独振动信息用于指示终端设备驱动目标振动装置对目标振动对象进行振动。
40.在一种实现方式中,目标应用包括游戏应用,目标业务场景为游戏应用中的任一游戏场景。
41.一方面,本技术实施例提供一种业务处理装置,该装置包括:
42.接收单元,用于接收目标应用发送的目标业务场景的振动描述文件和振动指示信息,目标业务场景的振动描述文件和振动指示信息是目标应用识别到目标业务场景中包括需要振动的目标振动对象时发送的,振动描述文件包括目标振动对象的振动参数,目标振动对象的振动参数包括目标振动对象的振动模式,振动模式包括抢占模式或叠加模式;
43.振动指示信息是基于目标振动对象的振动模式和目标振动装置的工作状态生成的,目标振动装置是指与目标振动对象匹配的振动控制装置;
44.处理单元,用于从m个振动控制装置中定位目标振动装置,并在目标业务场景下按照振动指示信息和振动描述文件驱动目标振动装置进行振动。
45.在一种实现方式中,振动参数包括目标振动对象的属性参数以及控制参数;属性参数包括以下任一种:位置信息、运动信息以及振动优先级;目标振动对象的控制参数包括以下至少一种:振动开始时间、振动持续时间、振动结束时间、振动频率、振动强度。
46.在一种实现方式中,属性参数包括目标振动对象的位置信息,处理单元用于从m个振动控制装置中定位目标振动装置时,具体用于:
47.获取m个振动控制装置的m个振动装置信息,一个振动装置信息中包括一个振动控制装置负责进行振动管理的位置范围;
48.根据目标振动对象的位置信息和m个振动装置信息,确定负责对目标振动对象进行振动管理的目标振动装置。
49.在一种实现方式中,振动指示信息包括融合振动信息,融合振动信息用于指示终
端设备驱动目标振动装置对第一振动对象和目标振动对象进行融合振动,第一振动对象是指目标振动装置正在执行振动对应的振动对象;
50.处理单元,用于在业务场景下按照振动指示信息和振动描述文件驱动目标振动装置进行振动时,具体用于:
51.从第一振动对象的振动参数中获取第一振动对象的控制参数;
52.将第一振动对象的控制参数和目标振动对象的控制参数进行融合处理,得到新的控制参数;
53.在目标业务场景下,驱动目标振动装置基于新的控制参数进行振动。
54.在一种实现方式中,振动指示信息包括第一优先级振动信息或第二优先级振动信息,第一优先级振动信息和第二优先级振动信息均用于指示根据第一振动对象的振动优先级和目标振动对象的振动优先级,选择驱动目标振动装置对第一振动对象进行振动或者对目标振动对象进行振动;
55.处理单元,用于在目标业务场景下按照振动指示信息和振动描述文件驱动目标振动装置进行振动时,具体用于:
56.从第一振动对象的控制参数中获取第一振动对象的振动优先级,以及从目标振动对象的控制参数中获取目标振动对象的振动优先级;
57.如果第一振动对象的振动优先级和目标振动对象的振动优先级不相同,则在目标业务场景下,驱动目标振动装置按照较高振动优先级的振动对象对应的控制参数进行振动;
58.如果第一振动对象的振动优先级和目标振动对象的振动优先级相同,则在目标业务场景下,驱动目标振动装置按照第一振动对象的控制参数进行振动,或者按照目标振动对象的控制参数进行振动。
59.在一种实现方式中,振动指示信息包括单独振动信息,单独振动信息用于指示终端设备驱动目标振动装置对目标振动对象进行振动,处理单元用于在目标业务场景下按照振动指示信息和振动描述文件驱动目标振动装置进行振动时,具体用于:
60.在目标业务场景下,驱动目标振动装置按照目标振动装置的控制参数进行振动。
61.一方面,本技术实施例提供一种业务处理设备,该业务处理设备包括:
62.处理器,适于执行计算机程序;
63.计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时,实现如上述的业务处理方法。
64.一方面,本技术实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,计算机程序适于由处理器加载并执行如上述的业务处理方法。
65.一方面,本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。业务处理设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该业务处理设备执行上述的业务处理方法。
66.本技术实施例中,当目标应用识别到目标业务场景中存在需要振动的目标振动对象后,可结合与目标振动对象相适配的目标振动装置的工作状态,生成振动指示信息,这样终端设备可以根据振动指示信息和目标振动对象的振动描述来驱动目标振动装置进行振
动。上述方案中,目标应用可将振动指示信息发送至终端设备,以使终端设备基于振动指示信息来确定如何驱动目标振动装置进行振动,丰富了振动方式的同时,准确地执行目标业务场景中发生的振动,从而实现了通过终端设备驱动振动装置的振动达到模拟真实物理环境中目标业务场景的效果,提高目标用户的振动体验的完整性,提高振动效果的真实性和灵活性。
附图说明
67.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
68.图1a示出了本技术一个示例性实施例提供的一种业务处理系统的架构示意图;
69.图1b示出了本技术一个示例性实施例提供的一种业务处理场景的场景示意图;
70.图2示出了本技术一个示例性实施例提供的一种业务处理方法的流程示意图;
71.图3a示出了本技术一个示例性实施例提供的一种目标业务场景的场景示意图;
72.图3b示出了本技术一个示例性实施例提供的一种目标业务场景的场景示意图;
73.图4示出了本技术一个示例性实施例提供的一种终端设备配置多个振动装置的示意图;
74.图5示出了本技术一个示例性实施例提供的一种业务处理方法的流程示意图;
75.图6示出了本技术一个示例性实施例提供的一种振动波形的示意图;
76.图7示出了本技术一个示例性实施例提供的一种振动波形的融合处理的示意图;
77.图8a示出了本技术一个示例性实施例提供的一种业务处理方法的流程示意图;
78.图8b示出了本技术一个示例性实施例提供的一种业务处理方法的流程示意图;
79.图9示出了本技术一个示例性实施例提供的一种业务处理装置的结构示意图;
80.图10示出了本技术一个示例性实施例提供的一种业务处理装置的结构示意图;
81.图11示出了本技术一个示例性实施例提供的一种业务处理设备的结构示意图。
具体实施方式
82.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
83.下面先对本技术实施例涉及的技术术语和概念进行简单说明,其中:
84.振动功能,是终端设备提供的一种促使终端设备中振动装置比如马达、振动传感器或者电机进行振动的功能。具体地,在终端设备中配置有振动装置(比如电机或者马达)和偏心轮,当存在需要振动的业务场景或者某个业务场景中存在需要振动的振动对象时,终端设备可启动电机带动偏心轮旋转,进而在目标业务场景中产生振动的效果。上述业务场景可以是由终端设备本身的系统所产生的;例如:业务场景包括终端设备中闹钟振动的场景,再如:业务场景包括终端设备输出告警事件的场景,等等。或者,业务场景也可以是由
终端设备中运行的目标应用(该目标应用指终端设备中运行的任意一种应用程序,比如游戏应用)产生的;例如:终端设备中运行的目标应用包括游戏应用(如竞技类的游戏应用),那么该游戏应用可提供多个业务场景(或称为游戏场景),例如,业务场景可包括游戏角色驾驶载具(如汽车、船等)的场景、游戏角色持枪械射击的场景、游戏角色跳伞的场景、
……
、等。该游戏应用可以是云游戏,云游戏(cloud gaming)又可称为游戏点播(gaming on demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备(thin client)能运行高品质游戏。在云游戏场景下,游戏并不在游戏玩家使用的终端中运行,而是在云端服务器中运行;云端服务器将游戏场景渲染为视频音频流,并通过通信网络将视频音频流传输给游戏玩家的终端。游戏玩家的终端无需拥有强大的图形处理与数据运算能力,仅仅需要拥有基本的流媒体播放能力,与获取游戏玩家输入的指令并将游戏玩家输入的指令发送给云端服务器的能力即可。需要说明的是,上述以目标应用包括游戏应用(如云游戏)为例进行介绍,并不对本技术实施例中提及的目标应用的类别和对应的业务场景产生限定,如终端设备中运行的目标应用还可以包括直播应用、音乐应用等等,目标应用提供的业务场景还可以包括直播场景、音乐场景等等;为便于描述,后续以目标应用为游戏应用,业务场景是目标应用(即游戏应用)提供的游戏场景为例进行介绍,在此说明。
85.其中,目标应用又称为目标应用程序,目标应用程序可以是运行于终端设备中的任一应用程序。应用程序可是指为完成某项或多项特定工作的计算机程序。按照不同维度(如应用程序的运行方式、功能等)对应用程序进行归类,可得到同一应用程序在不同维度下的类型,其中:按照应用程序的运行方式分类,应用程序可包括但不限于:

客户端,所谓的客户端(又可称为应用客户端、app客户端)是指安装并运行在终端中的应用程序。

应用程序也可以是指免安装的应用程序,即无需下载安装即可使用的应用程序,这类应用程序又俗称小程序,它通常作为子程序运行于客户端中。

应用程序还可以是指通过浏览器打开的web应用程序;等等。按照应用程序的功能类型分类,应用程序可包括但不限于:

im(instant messaging,即时通信)应用程序,即时通信应用程序是指基于互联网的即时交流消息和社交交互的应用程序。

内容交互应用程序,内容交互应用程序是指能够实现内容交互的应用程序,如社交应用程序。需要说明的是,本技术实施例后续提及的目标应用可以是按照运行方式分类的三种应用程序中的任意一种应用,也可以是按照功能类型分类的两种应用程序中的任意一种应用;本技术实施例对目标应用的类型不作限定。
86.基于上述,本技术实施例提出一种业务处理方案,该业务处理方案在存在需要振动的目标振动对象的目标业务场景下,目标应用获取该目标业务场景对应的振动描述文件,该振动描述文件中包括了该目标振动对象的振动参数,比如位置信息、振动频率、振动强度、振动优先级以及振动模式;进而,目标应用可以基于目标振动对象的振动模式和终端设备中与该目标振动对象匹配的目标振动装置的工作状态生成一个振动指示信息,该振动指示信息用于指示终端设备该如何驱动目标振动装置基于振动描述文件进行振动。
87.具体来说,假设目标振动装置的工作状态是处于正在执行第一振动对象的振动,振动指示信息可以指示终端设备驱动目标振动装置对第一振动对象和目标振动对象进行融合振动,或者,振动指示信息指示终端设备驱动目标振动装置对目标振动对象进行振动,或者对第一振动对象进行振动。
88.在上述业务处理过程中,当需要执行目标振动对象的振动时,目标应用不仅会向终端设备发送振动描述文件,还会发送振动指示信息,如此一来,当与目标振动对象匹配的目标振动装置处于忙碌状态(或称振动状态)时,也即正在执行其他振动对象的振动时,终端设备根据振动指示信息可以准确地控制目标振动装置进行振动,丰富了振动控制方式,从而能够丰富振动效果。
89.为便于更好地理解本技术实施例提出的业务处理方案,下面结合附图1a提供的业务处理系统对本技术实施例涉及的业务处理方案进行简单介绍介绍;如图1a所示,该业务处理系统中包含终端设备101、终端设备101中部署的目标应用102以及目标应用102的后台服务器103;本技术实施例对业务处理系统中包含的终端设备、目标应用和后台服务器的数量和类型不作限定,在此说明。
90.上述终端设备101可包括但不限于:智能手机(如android手机、ios手机等)、平板电脑、便携式个人计算机、移动互联网设备(mobileinternetdevices,简称mid)、车载设备、头戴设备等设备,本技术实施例并不对终端设备的类型进行限定,在此说明。其中,终端设备101中部署有至少一个振动装置,当终端设备101接收到目标应用102下发的关于目标业务场景的振动指示信息和目标振动对象的振动描述文件时,终端设备101可从至少一个振动装置中定位与该目标振动对象匹配的目标振动装置,然后在目标业务场景中按照振动指示信息驱动目标振动装置按照振动描述文件进行振动。
91.目标应用102可以是前述提及的游戏应用、音乐应用以及内容交互应用等等。目标应用102可以识别业务场景(如目标业务场景),并获取该业务场景对应的振动描述文件,并基于振动描述文件中包括的振动模式和终端设备中与该业务场景中目标振动对象匹配的目标振动装置的工作状态,生成目标业务场景中目标振动对象的振动指示信息,以及将振动指示信息和振动描述文件下发给终端设备101。
92.后台服务器103是终端设备101中目标应用102的服务器,用于与终端设备101进行交互,以为终端设备101中的目标应用102提供计算和应用服务支持。服务器101可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备以及后台服务器之间可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。
93.下面结合图1a和图1b,并以目标应用为游戏应用,目标业务场景为游戏场景为例,对本技术实施例涉及的业务处理场景进行简单介绍。如图1b所示,假设终端设备101中部署的目标应用102识别到目标业务场景为:游戏角色驾驶载具104往山坡105上行驶的这一游戏场景;则确定该游戏场景中需要振动的目标振动对象为载具104,那么目标应用102获取该游戏场景对应的振动描述文件,振动描述文件中包括载具104的振动参数,振动参数中包括载具104的振动模式,比如叠加模式或者抢占模式;进一步的,获取与载具104相匹配的目标振动装置的工作状态,基于振动模式和工作状态生成振动指示信息;将振动指示信息以及载具104的振动描述文件发送至终端设备101;终端设备101在目标业务场景下按照振动指示信息以及该游戏场景对应的振动描述文件驱动适配的目标振动装置进行振动,产生的振动效果是模拟在真实物理环境中目标用户驾驶载具在山坡上行驶的效果,其实质是模拟
载具(如汽车)在山坡上行驶时产生的颠簸效果。
94.可以理解的是,本技术实施例描述的系统架构示意图是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
95.基于上述描述的业务处理方案,本技术实施例提出更为详细的业务处理方法,下面将结合附图对本技术实施例提出的业务处理方法进行详细介绍。请参见图2,图2示出了本技术一个示例性实施例提供的一种业务处理方法的流程示意图;该业务处理方法可以由目标应用执行,或者当目标应用为云游戏应用时,该业务处理方法可以由云游戏应用对应的业务处理设备执行,该业务处理设备可以指云游戏服务器。下面介绍中,以该业务处理方法由目标应用执行为例介绍。该方案可包括步骤s201-s204,其中:
96.s201、识别目标应用中的目标业务场景。
97.正如前述描述的,目标应用可以包括游戏应用,则目标业务场景为游戏应用中的任一游戏场景;例如:游戏应用为竞技类的游戏应用,则目标业务场景为该竞技类的游戏应用提供的任一游戏场景,如游戏角色开枪的游戏场景。当然,目标应用也可以包括其他应用,例如,目标应用包括直播应用,此时目标业务场景为直播业务中的任一直播场景,直播场景可以包括但不限于:视频直播场景、音频直播场景等。需要说明的是,本技术实施例对目标应用和目标业务场景并不作限定,当目标应用发生变化时,目标业务场景也跟随目标应用的种类发生变化。具体实现中,当目标用户打开并使用目标应用时,目标应用开始识别目标业务场景。
98.下面结合图3a,并以目标应用为游戏应用,目标业务场景为游戏场景为例,对目标应用识别目标业务场景的界面示意图进行介绍。如图3a所示,当打开并运行游戏应用时,在终端设备的终端屏幕中显示游戏界面301,在游戏界面301中包含载具302以及启动载具选项303;当触发启动载具选项303时,可触发游戏对象驾驶载具302行驶,以模拟用户驾驶载具行驶的过程,此时游戏对象驾驶载具行驶即为一个游戏场景。则当启动载具选项303被触发时,目标应用就识别到目标用户进入到该游戏场景。当然,触发启动载具选项303的操作除包括上述的点击操作外,还可包括:语音操作、手势操作、按键操作等,本发明实施例不做具体限定。
99.s202、若目标业务场景中包括需要振动的目标振动对象,则获取目标业务场景的振动描述文件。
100.结合图3b来对目标业务场景中包括的需要振动的目标振动对象进行示例性说明,如图3b所示,假设目标应用为游戏应用,目标业务场景为该游戏应用中的持枪射击游戏场景,该持枪射击游戏场景具体可包括:游戏角色304持枪械305进行射击;由于在真实的持枪射击场景中,开枪时枪会产生较大的振动效果,则确定在该持枪射击游戏场景中,需要振动的目标振动对象为枪;这样通过在持枪射击游戏场景中产生枪的振动效果,可模拟在真实物理环境中开枪射击时的效果,提升用户游戏体验。
101.目标业务场景的振动描述文件中包括目标业务场景中目标振动对象的振动参数,其中,目标振动对象的振动参数可参见如下表1。
102.表1
[0103][0104][0105]
如表1所示,目标业务场景的振动描述文件中可以包括多个字段,这些字段用于存储目标振动对象的不同振动参数,振动描述的描述文件中还可以包括每个字段存储的振动参数的含义说明,以及每个字段存储的振动参数的数据类型。比如,目标振动对象的振动参数可包括:目标振动对象的属性参数及控制参数;属性参数包括以下任一种:位置信息(如振动源坐标,即目标振动对象在开始振动时所处的位置)、运动信息(如目标振动对象沿x轴方位进行移动)、振动优先级以及振动模式;控制参数包括以下至少一种:振动开始时间、振动持续时间、振动结束时间、振动频率、振动强度等。
[0106]
其中,目标振动对象的位置信息可以存储在coordinate(坐标)字段中,目标振动对象的位置信息可以是以该振动对象在目标业务场景中的坐标来标识的,该coordinate(坐标)字段中存储的振动参数的含义是目标振动对象或者也可以称为振动源的坐标,振动源的坐标所属的数据类型是整型二维数据;再如,目标振动对象的振动模式可以存储在振动模式字段中,通常情况下,该振动模式存储在该振动模式字段中的方式是:预先规定一种振动模式对应一个数值,将目标振动对象对应的振动模式对应的数值存储在振动模式字段中,通常情况下,可以设置抢占模式对应的数值为0,叠加模式对应的数值为1;因此,振动模式字段中存储的内容所属的数据类型为整型,振动模式字段对应的含义说明中可以示出叠加模式对应的数值,以及抢占模式对应的数值。
[0107]
其中,所谓叠加模式是指不同振动对象可融合振动,这可以模拟真实物理环境中多个振动对象共振所带来的振动效果。所谓抢占模式可是指不同振动对象不可融合叠加,则只能根据各个振动对象的振动优先级,选择一个振动对象进行振动;例如,从多个振动对象中选取振动优先级最高的振动对象进行振动。
[0108]
具体地,目标业务场景的振动描述文件可以是业务人员按照目标业务场景的场景
需求配置得到的;即业务人员可按照目标业务场景的场景需求,配置目标业务场景的振动描述文件。这样可实现模拟真实物理环境中目标振动对象对应的对象的振动效果。下面分别给出配置目标振动对象的振动参数中的振动模式,以及配置目标振动对象的振动参数中的振动优先级为例,对配置目标业务场景的振动描述文件进行示例性介绍。
[0109]

根据业务场景的场景需求配置目标振动对象的振动模式。例如:在真实物理环境中振动对象-载具(如车、船、飞机等)往往是可以和其他振动对象(如山坡、沙地、丘陵、河流等)进行叠加输出振动效果的,基于此,可以设置在游戏应用中,游戏对象驾驶载具在山坡、河流等地方行驶这一游戏场景中,振动对象载具的振动模式模式和山坡、以及河流等这些振动对象的振动模式均可以设置为叠加模式,这样当目标应用识别到驾驶载具在山坡上行驶的业务场景时,用户可以体验到载具在山坡上行驶时所带来的颠簸感。再如:在真实物理环境中振动对象-枪械(如步枪、冲锋枪等)的振动效果往往带给用户较强的冲击感,所以可以认为振动对象-枪械的振动波形不具备叠加特征,则可以将振动对象-枪械的振动模式的参数取值设置为0(即抢占模式);等等。
[0110]

根据业务场景的场景需求配置目标振动对象的振动优先级。具体地,可以设置振动优先级的取值范围为[1,10],振动对象的振动优先级取值越大,则确定该振动对象的振动优先级越高,例如振动优先级取值为5的振动对象的振动优先级,高于振动优先级取值为3的振动对象的振动优先级。举例来说,在游戏对象驾车开枪的场景中,振动对象-枪械(如步枪、冲锋枪等)的振动效果往往带给用户较强的冲击感,所以可以设定枪械的振动优先级大于车的振动优先级,如设置枪械的振动优先级为9,而车的振动优先级小于9(如2、5等)。
[0111]
值得一提的是,目标业务场景中可以包括多个需要振动的振动对象,目标振动对象为多个需要振动的振动对象中的任一个振动对象,则目标业务场景的振动描述文件包括多个振动对象的振动参数;每个振动对象的振动参数均可参见表1及相关描述,在此不对每个振动对象的振动参数进行一一介绍,特在此说明。
[0112]
s203、获取终端设备中与目标振动对象匹配的目标振动装置的工作状态。
[0113]
终端设备中可配置有一个或多个振动装置,终端设备中配置的振动装置可以是马达,也就是说终端设备为单马达设备或多马达设备。在一种实现方式中,若终端设备中配置有一个振动装置,则将该一个振动装置确定为与目标振动对象匹配的目标振动装置,并将该一个振动装置的工作状态确定为目标振动装置的工作状态;换句话说,由于终端设备中只配置了一个振动装置,则目标应用识别到的所有业务场景下的振动效果均由该一个振动装置来执行振动。其中,目标振动装置的工作状态可包括振动状态和空闲状态,所谓振动状态是指目标振动装置正在执行对第一振动对象(如当前业务场景下的任一振动对象)的振动。所谓空闲状态是指目标振动装置未执行振动操作。
[0114]
其他实现方式中,若终端设备中配置m个振动装置,m为大于1的整数,则确定与目标振动对象匹配的目标振动装置的实现方式可包括:获取终端设备上报的m个振动装置的m个振动装置信息,一个振动装置的振动装置信息中包括一个振动装置负责进行振动管理的位置范围以及该一个振动装置的工作状态;根据目标振动对象的振动参数中包括的位置信息和m个振动装置信息,确定负责对目标振动对象进行振动管理的目标振动装置,并获取目标振动装置的工作状态。也就是说,当终端设备中部署有m个振动装置时,每个(或多个)振
动装置对应终端屏幕的一个区域,任一振动装置负责管理任一振动装置对应的振动管理的位置范围内的振动;换句话说,当终端设备中部署多个振动装置时,可以按照振动装置部署于终端设备中的位置将终端设备的终端屏幕划分为多个位置范围(或称为区域),一个区域对应一个(或者多个)振动装置;当任一区域内启动振动任一振动对象时,由该任一区域对应的振动装置执行振动。另外,各个振动装置相互独立的控制其所对应区域内的振动,这使得如果在多个振动装置所负责管理的区域内同时存在需要振动的振动对象时,可同时触发多个振动装置各自按照所负责区域内振动对象的振动参数进行振动。
[0115]
下面结合附图4对终端设备中部署m个振动装置进行示例性介绍;如图4所示,假设终端设备部署有4个振动装置,即m=4,该4个振动装置分别部署于终端设备的4个角;按照图4所示的坐标标识方法(即左上角为原点,沿着原点向下为y轴、沿着原点向右为x轴)对4个振动装置所负责振动管理的位置范围进行描述可得:振动装置m1可控制区域a、振动装置m2可控制区域b、振动装置m3可控制区域c以及振动装置m4可控制区域d。那么,获取目标振动对象的振动描述文件中目标振动对象的位置信息,并根据位置信息指示的目标振动对象在终端屏幕中显示的坐标位置与振动装置的振动装置信息之间的关系,可知:当目标振动对象落入区域a内时,将振动装置m1确定为目标振动装置,即由振动装置m1来实现对目标振动对象进行振动的振动效果。同理,当目标振动对象落入区域b内时,将振动装置m2确定为目标振动装置,即由振动装置m2来实现对目标振动对象进行振动的振动效果。当目标振动对象落入区域c内时,将振动装置m3确定为目标振动装置,即由振动装置m3来实现对目标振动对象进行振动的振动效果。当目标振动对象落入区域d内时,将振动装置m4确定为目标振动装置,即由振动装置m4来实现对目标振动对象进行振动的振动效果。
[0116]
继续参见图4,假设振动装置m1的振动装置信息指示振动装置m1所负责进行振动管理的位置范围a指示的区域为:x轴属于[10,90],且y轴属于[10,50]组成的区域;振动装置m2所负责进行振动管理的位置范围b指示的区域为:x轴属于[10,90],且y轴属于[50,90]组成的区域;振动装置m3所负责进行振动管理的位置范围c指示的区域为:x轴属于[10,90],且y轴属于[50,90]组成的区域;以及,振动装置m4进行振动管理的位置范围d指示的区域为:x轴属于[90,180],且y轴属于[10,50]组成的区域。当检测目标振动对象的位置信息为(x=80,y=60)时,则确定目标振动对象落入区域b,则将振动装置m2确定为与目标振动对象匹配的目标振动装置;换句话说,由振动装置m2来实现目标振动对象的振动效果。
[0117]
需要说明的是,当采用不同的坐标标识方法对终端屏幕进行划分时,上述描述的各个振动装置所负责振动管理的位置范围以及目标振动对象的位置信息均可以发生变化,本技术实施例对此不作限定不作限制。
[0118]
s204、基于目标振动对象的振动模式和目标振动装置的工作状态生成振动指示信息。
[0119]
基于前述步骤s202-s203所示的对目标振动对象的振动模式和目标振动装置的工作状态的相关描述可知,目标振动对象的振动模式可包括:抢占模式或叠加模式;目标振动装置的工作状态可包括:振动状态或空闲状态。结合振动模式和工作状态的几种描述,下面对基于目标振动对象的振动模式和目标振动装置的工作状态生成振动指示信息的具体实现方式进行阐述。
[0120]
1)若目标振动装置的工作状态为振动状态,如目标振动装置的工作状态为正在执
行第一振动对象的振动,则基于目标振动对象的振动模式和目标振动装置的工作状态生成振动指示信息的几种实现方式可包括:
[0121]

振动指示信息包括融合振动信息。具体实现中,若目标振动装置的工作状态为振动状态,如目标振动装置正在执行第一振动对象的振动,其中,第一振动对象为当前业务场景中的振动对象,且目标振动对象的振动模式包括叠加模式,表示目标振动对象具备叠加特征,则获取第一振动对象的振动模式;如果第一振动对象的振动模式为叠加模式,表示确定第一振动对象具备叠加特征,则生成融合振动信息,该融合振动信息用于指示终端设备驱动目标振动装置对第一振动对象和目标振动对象进行融合振动。也就是说,若目标振动装置正在执行第一振动对象的振动,且第一振动对象和目标振动对象的振动模式均为叠加模式,表示第一振动对象和目标振动对象均是具备叠加特征的振动对象,则生成融合振动信息。
[0122]
以在山坡上驾驶汽车的游戏场景为例,假设当前业务场景为游戏角色驾驶车行驶在平地上,第一振动对象为车,则确定目标振动装置正在执行车的振动;若识别到目标业务场景为游戏角色驾驶的车行驶至山坡,目标振动对象为山坡。可以理解的是,在真实物理环境中车在山坡上行驶时,其产生的颠簸感要明显强于车在平地行驶,可以确定车的振动模式为叠加模式,山坡的振动模式为叠加模式,那么生成的融合振动信息可用于指示终端设备驱动目标振动装置对车和山坡进行融合振动。
[0123]

振动指示信息包括第一振动优先级信息。具体实现中,若目标振动装置的工作状态为振动状态,如目标振动装置正在执行第一振动对象的振动,且目标振动对象的振动模式包括叠加模式,表示目标振动对象具备叠加特征,第一振动对象的振动模式为抢占模式,表示第一振动对象不具备叠加特征;则生成第一优先级振动信息,该第一优先级振动信息用于指示终端设备根据第一振动对象的振动优先级和目标振动对象的振动优先级,选择驱动目标振动装置对第一振动对象进行振动,或者对目标振动对象进行振动。
[0124]

振动指示信息包括第二振动优先级信息。具体实现中,若目标振动装置的工作状态为振动状态,如目标振动装置正在执行第一振动对象的振动,若目标振动对象的振动模式包括抢占模式,则生成第二优先级振动信息,第二优先级振动信息用于指示终端设备根据第一振动对象的振动优先级和目标振动对象的振动优先级,选择驱动目标振动装置对第一振动对象进行振动,或者对目标振动对象进行振动。换句话说,目标振动对象的振动模式为抢占模式时,不管第一振动对象的振动模式为抢占模式还是叠加模式,均生成第二优先级振动信息。也就是说,第一振动对象和目标振动对象中,只要有一个振动模式为抢占模式,这两者就不可以叠加振动。
[0125]
以驾驶载具并开抢的游戏场景为例,假设当前业务场景为游戏角色正在驾驶车辆行驶的场景,车辆为第一振动对象,则确定目标振动装置正在执行车辆的振动;若识别到目标业务场景为游戏角色在驾驶车辆时开枪的游戏场景,则枪为目标振动对象;由于枪的振动效果与车的振动效果的叠加,会影响目标用户的判断,则确定枪-目标振动对象的振动模式为抢占模式,尽管车的振动模式为叠加模式,但车与枪的振动效果仍是不可叠加的。
[0126]
2)若目标振动装置的工作状态为空闲状态时,则生成单独振动信息,单独振动信息用于指示终端设备驱动目标振动装置对目标振动对象进行振动。也就是说,如果检测到目标振动装置当前并未执行任一振动对象的振动,则确定目标振动装置可直接执行目标振
动对象的振动。
[0127]
s205、将振动指示信息及振动描述文件发送至终端设备。
[0128]
具体实现中,目标应用可调用振动播放接口将振动指示信息及振动描述文件下发至终端设备;以使终端设备在目标业务场景下按照振动指示信息和振动描述文件驱动目标振动装置进行振动。如果振动指示信息指示将第一振动对象和目标振动对象进行融合叠加振动,则目标用户可感受到第一振动对象和目标振动对象所产生的共振,提高目标用户的振动体验的完整性。
[0129]
本技术实施例中,首先,当目标应用识别到目标业务场景时,目标应用可检测目标业务场景中是否包括需要振动的目标振动对象,若存在需要振动的目标振动对象,则获取目标业务场景的振动描述文件,该目标业务场景的振动描述文件中包括目标业务场景中的目标振动对象的振动参数,振动参数包括目标振动对象的振动模式;其次,目标应用还可以从终端设备中获取与目标振动对象相匹配的目标振动装置的工作状态,并基于目标振动对象的振动模式和目标振动装置的工作状态生成振动指示信息;最后,目标应用将振动指示信息和振动描述文件下发至终端设备,以使终端设备在目标业务场景下按照振动描述文件和振动指示信息驱动目标振动装置进行振动。上述方案中,终端设备基于目标应用发送的振动指示信息来确定如何驱动振动装置进行振动,丰富了振动方式的同时,准确地执行目标业务场景中发生的振动,从而实现了通过终端设备驱动振动装置的振动达到模拟真实物理环境中目标业务场景的效果,提高目标用户的振动体验的完整性,提高振动效果的真实性和灵活性。
[0130]
请参见图5,图5示出了本技术一个示例性实施例提供的一种业务处理方法的流程示意图;该业务处理方法可以是由终端设备(如任一终端)来执行。该方案可包括步骤s501-s503,其中:
[0131]
s501、接收目标应用发送的目标业务场景的振动描述文件和振动指示信息。
[0132]
具体地,终端设备可以通过振动播放接口接收目标应用发送的目标业务场景下的振动描述文件和振动指示信息。其中,目标业务场景的振动描述文件和振动指示信息是目标应用识别到目标业务场景中包括需要振动的目标振动对象时发送的,振动描述文件包括目标振动对象的振动参数,目标振动对象的振动参数包括目标振动对象的振动模式,振动模式包括抢占模式或叠加模式;振动指示信息是基于目标振动对象的振动模式和目标振动装置的工作状态生成的,目标振动装置是指与目标振动对象匹配的振动装置。目标振动对象的振动参数包括目标振动对象的属性参数以及控制参数;属性参数包括以下任一种:位置信息、运动信息以及振动优先级;目标振动对象的控制参数包括以下至少一种:振动开始时间、振动持续时间、振动结束时间、振动频率、振动强度。
[0133]
需要说明的是,目标应用获取目标业务场景中的振动描述文件,以及生成振动指示信息的具体实现方式可参见前述图2所示实施例的部分内容,在此不作赘述。
[0134]
s502、从m个振动装置中定位目标振动装置。
[0135]
具体实现中,获取m个振动装置的m个振动装置信息,一个振动装置信息中包括一个振动装置所服务进行振动管理的位置范围以及该一个振动装置的工作状态;再根据目标振动对象的振动参数中包括的位置信息和m个振动装置信息,确定负责对目标振动对象进行振动管理的目标振动装置。其中,根据振动装置的振动装置信息和目标振动对象的位置
信息确定目标振动装置的具体实现方式可参见前述图2所示实施例中步骤s203所示的具体实现方式的相关描述,在此不作赘述。
[0136]
s503、在目标业务场景下按照振动指示信息和振动描述文件驱动目标振动装置进行振动。
[0137]
终端设备根据接收到的振动指示信息所包含的内容不同,终端设备驱动目标振动装置进行振动的方式并不相同,其中:
[0138]
1)振动指示信息包括融合振动信息,融合振动信息用于指示终端设备驱动目标振动装置对第一振动对象和目标振动对象进行融合振动,第一振动对象是指目标振动装置正在执行振动所对应的振动对象。在这种实现方式下,按照振动指示信息和振动描述文件驱动目标振动装置进行振动的实现方式可包括:从第一振动对象的振动参数中获取第一振动对象的控制参数;将第一振动对象的控制参数和目标振动对象的控制参数进行融合处理,得到新的控制参数;在目标业务场景下,驱动目标振动装置基于新的控制参数进行振动。
[0139]
其中,目标振动对象的振动参数包括目标振动对象的属性参数以及控制参数;属性参数包括以下任一种:位置信息、运动信息以及振动优先级;目标振动对象的控制参数包括以下至少一种:振动开始时间、振动持续时间、振动结束时间、振动频率、振动强度。那么将第一振动对象的控制参数和目标振动对象的控制参数进行融合处理,得到新的控制参数可包括:将第一振动对象的振动频率与目标振动对象的振动频率进行融合处理,得到新的振动频率;将第一振动对象的振动强度和目标振动对象的振动强度进行融合处理,得到新的振动强度。
[0140]
可选的,将第一振动对象的振动频率与目标振动对象的振动频率进行融合处理,得到新的振动频率,包括:将第一振动对象的振动频率和目标振动对象的振动频率进行相加运算;如果相加运算的结果大于振动频率阈值,则将振动频率阈值作为新的振动频率;如果相加运算的结果小于或等于振动频率阈值,则将相加运算的结果作为新的振动频率。具体可以采用函数1计算新的振动频率。
[0141]
frequency=if(sum(frequency{1
……
n})》100,100,sum(frequency{1
……
n}))函数1
[0142]
其中,函数sum为求和的函数,n为振动对象的数量,n为大于1的整数。
[0143]
可选的,将第一振动对象的振动强度和目标振动对象的振动强度进行融合处理,得到新的振动强度,包括:将第一振动对象的振动强度和目标振动对象的振动强度进行相加运算;如果相加运算的结果大于振动强度阈值,则将振动强度阈值作为新的振动强度;如果相加运算的结果小于或等于振动强度阈值,则将相加运算的结果作为新的振动强度。具体可以采用函数2计算新的振动强度。
[0144]
intensity=if(sum(intensity{1
……
n})》100,100,sum(intensity{1
……
n}))函数2
[0145]
需要说明的是,目标振动装置在基于任一振动对象的控制参数进行振动时,实际上是按照任一振动对象对应的振动波形振动的,以实现播放该振动波形所反映的振动效果。振动对象的振动波形可较为直观地体现出对振动对象进行振动时的振动效果,举例来说,振动对象为平地时,其在真实物理环境中振动效果并不明显,振动对象为山坡时,山坡在真实物理环境中振动效果是较为明显的;基于此,一种示例性的平地的振动波形和山坡
的振动波形可参见图6,如图6所示的第一幅图为平地的振动波形,如图6所示的第二幅图为山坡的振动波形。
[0146]
任一振动对象的振动波形可以是基于该任一振动对象的控制参数中振动频率和振动强度生成的。下面以目标振动对象为例,介绍目标振动对象的振动波形的生成过程:首先,将目标振动对象的振动参数中振动持续时间划分为n个时间段,n为大于1的整数,每个时间段对应一个振动频率因子和振动强度因子。其次,将目标振动对象的振动强度与第i个时间段的振动强度进行相乘运算,得到第i个时间段的振动强度,以及将目标振动对象的振动频率与第i个时间段的振动频率因子进行相加运算,得到第i个时间段的振动频率,i为大于或等于1且小于或等于n的整数;基于第i个时间段的振动强度和振动频率生成第i个时间段的子波形。其次,对每个时间段的振动频率和振动强度执行上述步骤,得到每个时间段的子波形(即n个子波形)。最后将n个时间段的子波形按照时间顺序进行拼接,得到目标振动对象的振动波形。
[0147]
基于此,上述描述的驱动目标振动装置基于新的控制参数进行振动的实现方式可以包括:基于新的控制参数和n个时间段中每个时间段的振动频率因子和振动强度因子生成目标振动波形,驱动目标振动装置按照该目标振动波形进行振动。
[0148]
具体地,新的控制参数中包括新的振动强度和新的振动频率,那么基于新的振动强度和每个时间段的振动强度因子,以及新的振动频率和每个时间段的振动频率因子,可得到每个时间段的子目标波形;将各个时间段的子目标波形按照时间先后顺序拼接,就可得到目标振动波形。下面以确定第j个时间段的子目标波形为例,对基于新的振动强度和第j个时间段的振动强度因子,以及新的振动频率和第j个时间段的振动频率因子,得到第j个时间段的子目标波形的具体实现方式进行介绍,j为大于零且小于或等于n的整数;大致可包括步骤s11-s13:
[0149]
s11:将新的振动强度与目标振动对象下第j个时间段的振动强度因子相乘,得到第一振动强度结果;以及,将新的振动强度与第一振动对象下第j个时间段的振动强度因子相乘,得到第二振动强度结果;将第一振动强度结果和第二振动强度结果相加,得到第j个时间段的叠加强度参数。
[0150]
s12:将新的振动频率与目标振动对象下第j个时间段的振动频率因子相加,得到第一振动频率结果;以及,将新的振动强度与第一振动对象下第j个时间段的振动频率因子相加,得到第二振动频率结果;将第一振动频率结果和第二振动频率结果相加,得到第j个时间段的叠加频率参数。
[0151]
s13:基于第j个时间段的叠加强度参数和第j个时间段的叠加频率参数,绘制得到第j个时间段对应的子目标波形。
[0152]
其中,具体可以采用函数3来计算上述步骤s12-s13中第j个时间段的叠加振动参数和叠加频率参数。
[0153]
fx(timej,sum(parameters.intensity*curve.intensity1
……
n),sum(parameters.frequency+curve.frequency
……
n))函数3
[0154]
其中,函数fx为确定叠加强度参数和叠加频率参数的函数,参数parameters为第j个时间段的振动频率因子和振动强度因子,这两个参数可能并不为相同数值,并且不同时间段内这两个参数的取值是不同或相同的;参数timej为j时间段;n为需要叠加处理的振动
对象的个数;sum为求和函数。
[0155]
2)振动指示信息包括第一优先级振动信息或第二振动优先级信息,第一振动优先级信息和第二振动优先级信息均用于指示根据第一振动对象的振动优先级和目标振动对象的振动优先级选择驱动目标振动装置对第一振动对象进行振动或者对目标振动对象进行振动。在这种实现方式下,在目标业务场景下按照振动指示信息和振动描述文件驱动目标振动装置进行振动的实现方式可包括:首先,从第一振动对象的控制参数中获取第一振动对象的振动优先级,以及从目标振动对象的控制参数中获取目标对象的振动优先级;其次,如果第一振动对象的振动优先级和目标对象的振动优先级不相同,则在目标业务场景下,驱动目标振动装置按照较高振动优先级的振动对象对应的控制参数进行振动;最后,如果第一振动对象的振动优先级和目标对象的振动优先级相同,则在目标业务场景下,驱动目标振动装置按照第一振动对象的控制参数进行振动,或者按照目标振动对象的控制参数进行振动。
[0156]
举例来说,假设振动优先级的可选范围为[1,10],如果第一振动对象的振动优先级为5,而目标振动对象的振动优先级为8,则确定目标振动对象的振动优先级为最高振动优先级。例如,第一振动对象为载具,目标振动对象为枪械,由于枪械所产生的振动效果较大,那么可以确定枪械的振动优先级高于载具的振动优先级,则确定枪械的振动优先级为最高振动优先级,则在目标业务场景下驱动目标振动装置按照枪械的控制参数进行振动。
[0157]
3)振动指示信息包括单独振动信息,单独振动信息用于指示终端设备驱动目标振动装置对目标振动对象进行振动。在这种实现方式下,在目标业务场景下按照振动指示信息和振动描述文件驱动目标振动装置进行振动的实现方式可包括:在目标业务场景下,驱动目标振动装置按照目标振动装置的控制参数进行振动。
[0158]
可以理解的是,在驱动目标振动装置对任一振动对象(如目标振动对象)进行振动的过程中,该任一振动对象在终端屏幕中的位置信息可以是动态变化的;例如,该任一振动对象为汽车,那么在驾驶汽车的过程中,不同时间段汽车可能位于终端屏幕的不同区域,如果终端设备配置多马达(即多个振动装置),那么用于对汽车的进行振动的目标振动控制装置可能发生变化;基于此,本技术实施例支持实时识别振动对象的位置信息,并根据振动对象的位置信息更新与振动对象匹配的目标振动装置。具体实现中,若在驱动目标振动装置对任一振动装置(若目标振动装置)进行振动的过程中,检测到该任一振动对象的当前的位置信息超出目标振动装置所负责振动管理的位置范围,则将负责当前的位置信息所属的位置范围的振动装置,确定为更新后的目标振动装置;以及,控制更新后的目标振动装置重新采用本技术实施例提及的业务处理方法,计算更新后的目标振动装置所负责振动管理的位置范围内的一个或多个振动对象之间的关系,进而进行振动控制。
[0159]
举例来说,假设终端屏幕部署2个振动装置,分别为振动装置1以及振动装置2;当振动对象-汽车在振动装置1所负责振动管理的位置1内运行时,振动装置1可对振动对象-汽车进行振动;当检测到振动对象-汽车的当前的位置信息指示振动对象-汽车行驶至振动装置2所负责振动管理的位置范围2时,可确定当前需要由振动装置2来对振动对象进行振动。这种跟随振动对象的移动采用不同振动装置来对振动对象进行振动的方式,可模拟振动对象的移动过程、方向变化过程等振动效果,提高振动效果的真实性。
[0160]
本技术实施例中,终端设备可接收目标应用下发的目标业务场景的振动描述文件
和振动指示信息,并从m个振动装置中定位目标振动装置,以在目标业务场景下按照振动指示信息和振动描述文件驱动目标振动装置进行振动。上述方案中,终端设备基于目标应用发送的振动指示信息来确定如何驱动振动装置进行振动,丰富了振动方式的同时,准确地执行目标业务场景中发生的振动,从而实现了通过终端设备驱动振动装置的振动达到模拟真实物理环境中目标业务场景的效果,提高目标用户的振动体验的完整性,提高振动效果的真实性和灵活性。
[0161]
上述实施例分别以目标应用和终端设备为执行主体,对本技术实施例提出的业务处理方法进行了详细的描述,下面结合图8a对目标应用和终端设备共同执行业务处理方法流程进行更为详细的介绍;该流程大致可包括步骤s21-s23,其中:
[0162]
s21,目标应用支持设置振动对象的振动模式,该振动模式包括抢占模式和叠加模式,抢占模式和叠加模式的具体实现方式可参见图2所示中步骤s202所示的具体实现方式的相关描述,在此不作赘述。值得一提的是,当振动对象存在于不同的业务场景中时,为同一振动对象设置的振动模式可能并不相同,具体可根据业务场景的场景需求来设定。另外,本技术实施例支持设置的振动模式为目标应用的全局的模式,换句话说,设置的振动模式适用于该目标应用所包含的任一振动对象。具体地,可以是通过定义振动播放接口实现为目标应用设置全局的振动模式和振动优先级的;或者可以采用该振动播放接口单独地为任一个振动对象设置振动模式和振动优先级,如可以采用如下字段来定义振动播放接口,实现为任一振动对象设置振动模式和振动优先级:
[0163]
public void updatepatten(intpatten,int level){}
[0164]
其中,振动模式的参数字段patten以及振动优先级的参数字段level的类型均为整型。为振动对象设置振动模式和振动优先级,有助于后续对多个振动对象进行分析,以得到振动指示信息。举例来说,假设任一振动装置所负责振动管理的位置范围内包括4个振动对象,为各个振动对象设置的振动模式和振动给优先级分别为:振动对象1(0,1)、振动对象2(0,3)、振动对象3(1,5)以及振动对象4(1,6),则确定振动对象1的振动模式为抢占模式、振动对象2的振动模式为抢占模式、振动对象3的振动模式为叠加模式以及振动给对象4的振动模式为叠加模式;基于此,确定振动对象1的控制参数(或振动波形)、振动对象2的控制参数(或振动波形)、振动对象3的控制参数(或振动波形)以及振动对象4的控制参数(或振动波形)之间不可以进行融合处理;又因为振动对象4的振动优先级最高,则驱动控制目标振动装置对振动对象4进行振动。
[0165]
s22,当目标应用识别到目标业务场景,且目标业务场景中存在需要振动的目标振动对象时,可获取目标振动对象的振动描述文件,该振动描述文件中包括目标业务场景中的目标振动对象的振动参数,目标振动对象的振动参数包括目标振动对象的振动模式;目标应用还会获取终端设备中与目标振动对象匹配的目标振动装置的工作状态;并基于目标振动对象的振动模式和目标振动装置的工作状态生成振动指示信息,以及将振动指示信息和振动描述文件通过振动播放接口下发至终端设备。
[0166]
其中,振动播放接口可以是在原有接口(如初始接口)的基础上,增加振动模式的修正参数得到的,该振动播放接口可用于控制任一振动对象的振动模式;当然,该振动播放接口也可以支持循环、强度、频率等参数字段的设置。具体地,可采用如下字段来定义振动播放接口,实现为任一振动对象设置循环、强度、频率以及振动模式、振动优先级等参数字
段:
[0167]
public void start(int loop,int interval,int amplitude,intfreq,intpatten,int level){}
[0168]
下面对上述字段所包含的各个参数进行简要注释。
[0169]
/**
[0170]
*@param loop循环次数,1不循环,大于1循环次数,-1无限循环;
[0171]
*@param interval循环间隔,0-1000,每次振动循环播放的间隔,单位ms;
[0172]
*@param amplitude振动强度,1-255,1最小,255最大。此参数用于修饰he文件,进行整体的强度信号调整/缩减;
[0173]
*@paramfreq振动频率,1-100,1最小,100最大,此参数作为百分比用于修饰he文件,进行整体的频率信号进行调整;
[0174]
*@parampatten振动模式,0抢占模式,1叠加模式,此参数用于通知振动解析器如何进行振动效果的叠加;
[0175]
*@param level振动优先级,1-10,10级最高,其次递减,此参数用于在抢占模式下,level越高的优先播放。
[0176]
/**
[0177]
其中,

整型参数loop是用于设置对振动对象进行振动的循环次数的参数,当取值=1时,表示不循环对振动对象进行振动,当取值大于1时,表示对振动对象循环振动该取值对应的次数,当取值为-1时,表示无限循环对振动对象进行振动;

整型参数interval是用于设置循环间隔的参数,其取值范围可以为[0,1000],单位可以为毫秒;循环间隔可以是指两次对振动对象进行振动的时间间隔。

整型参数amplitude是用于设置振动对象的振动强度的,其取值范围可以为[1,255],取值为1时,确定振动强度最小,取值为255时,确定振动强度最大。整型参数freq是用于设置振动对象的振动频率的,其取值范围可以为[1,100],取值越大,频率越大。整型参数patten是用于设置振动对象的振动模式的,取值为1时,振动模式为叠加模式,取值为0时,振动模式为抢占模式。以及,整型参数level是用于设置振动对象的振动优先级的,其取值范围可以为[1,10],取值越大,振动优先级越高。
[0178]
s23,终端设备通过上述振动播放接口接收目标应用发送的目标业务场景的振动描述文件以及振动指示信息,并从m个振动装置中确定出目标振动装置;再检测振动指示信息所包含的内容,若振动指示信息包含融合振动信息,则终端设备将第一振动对象的控制参数与目标振动对象的控制参数进行融合处理,得到融合处理后的控制参数(或振动波形),若振动指示信息包括第一优先级振动信息或第二优先级振动信息,则终端设备比较第一振动对象的振动优先级和目标振动对象的振动优先级,得到待振动的振动对象(如第一振动对象或目标振动对象)的控制参数;终端设备基于控制参数驱动目标振动装置执行振动。
[0179]
综上所述,本技术实施例采用标准化接口的方式,使得接口层面可统一支持应用层和系统硬件层,应用层的创新设计无需担心与系统硬件层之间不匹配的问题,能丰富应用层的开发功能。另外,应用层可预先为各个振动对象设置振动参数(或振动波形),在不同的业务场景下或不同系统硬件设置下,对多个振动对象的振动参数进行分析,支持输出多个振动对象的共振效果,丰富了触发体验,提高振动效果的真实性,提升了目标用户的振动
体验。
[0180]
基于上述各个方法实施例,本技术实施例提供了又一种业务处理方法,该业务处理方法的流程示意图可参见图8b所示;该业务处理方法可由业务处理设备执行,业务处理设备可以是终端设备,该业务处理方法可包括步骤s801-s803:
[0181]
步骤s801、当识别到目标应用的目标业务场景中存在需要振动的目标振动对象时,获取目标业务场景的振动描述文件。
[0182]
其中,目标业务场景的振动描述文件包括目标振动对象的振动参数,目标振动对象的振动参数包括目标振动对象的振动模式,目标振动对象的振动模式包括抢占模式或叠加模式。值得说明的是,目标业务场景的振动描述文件是按照目标业务场景的场景需求配置得到的;目标振动对象的振动参数还包括目标振动对象的属性参数及目标振动对象的控制参数;属性参数包括以下任一种:位置信息、运动信息以及振动优先级;控制参数包括以下至少一种:振动开始时间、振动持续时间、振动结束时间、振动频率、振动强度。
[0183]
步骤s801所示的具体实现方式可以是由目标应用或终端设备来执行。可选的,目标应用支持对目标业务场景进行识别,并识别目标业务场景中的目标振动对象以及获取目标业务场景下的振动描述文件。可选的,终端设备支持对目标业务场景进行识别,并识别目标业务场景中的目标振动对象以及获取目标业务场景下的振动描述文件。
[0184]
可选的,目标应用可以对目标业务场景进行识别,并将识别到的目标业务场景下发至终端设备,由终端设备来识别目标业务场景中的目标振动对象,以及获取目标业务场景的振动描述文件。可选的,目标应用识别出目标业务场景,并将识别到的目标业务场景下发至终端设备;当终端设备检测到目标业务场景中存在目标振动对象时,目标应用获取目标业务场景的振动描述文件,并将振动描述文件下发至终端设备。综上所述,本技术实施例并不限定执行步骤s801的执行主体。
[0185]
步骤802、获取与目标振动对象匹配的目标振动装置的工作状态,并基于目标振动对象的振动模式和目标振动装置的工作状态生成振动指示信息。
[0186]
获取目标振动装置的工作状态的实现方式可包括:获取终端设备中配置的m个振动装置的m个振动装置信息,一个振动装置的振动装置信息中包括一个振动装置负责进行振动管理的位置范围以及一个振动装置的工作状态;根据目标振动对象的振动参数中包括的位置信息和m个振动装置信息,确定负责对目标振动对象进行振动管理的目标振动装置,并获取目标振动装置的工作状态。目标振动装置的工作状态可包括空闲状态或正在执行第一振动对象(如当前业务场景中需振动的振动对象)的振动的状态。
[0187]
(1)当目标振动装置的工作状态为正在执行第一振动对象的振动的状态时,振动指示信息可包括融合振动信息、第一优先级振动信息和第二优先级振动信息,下面对上述三种振动指示信息的获取方式进行介绍,其中:
[0188]
1)振动指示信息包括融合振动信息,则基于目标振动对象的振动模式和目标振动装置的工作状态生成振动指示信息的实现方式可包括:若目标振动装置的工作状态为正在执行第一振动对象的振动,目标振动对象的振动模式包括叠加模式,则获取第一振动对象的振动模式;如果第一振动对象的振动模式为叠加模式,则生成融合振动信息,融合振动信息用于指示终端设备驱动目标振动装置对第一振动对象和目标振动对象进行融合振动。
[0189]
2)振动指示信息包括第一优先级振动信息,则基于目标振动对象的振动模式和目
标振动装置的工作状态生成振动指示信息的实现方式可包括:若目标振动装置的工作状态为正在执行第一振动对象的振动,目标振动对象的振动模式包括叠加模式,第一振动对象的振动模式为抢占模式,则生成第一优先级振动信息,第一优先级振动信息用于指示终端设备根据第一振动对象的振动优先级和目标振动对象的振动优先级,选择驱动目标振动装置对第一振动对象进行振动或者对目标振动对象进行振动。
[0190]
3)振动提示信息包括第二优先级振动信息,则基于目标振动对象的振动模式和目标振动装置的工作状态生成振动指示信息的实现方式可包括:若目标振动装置的工作状态为正在执行第一振动对象的振动,目标振动对象的振动模式包括抢占模式,则生成第二优先级振动信息,第二优先级振动信息用于指示终端设备根据第一振动对象的振动优先级和目标振动对象的振动优先级,选择驱动目标振动装置对第一振动对象进行振动或者对目标振动对象进行振动。
[0191]
(2)当目标振动装置的工作状态为空闲状态时,则基于目标振动对象的振动模式和目标振动装置的工作状态生成振动指示信息的实现方式可包括:生成单独振动信息,单独振动信息用于指示终端设备驱动目标振动装置对目标振动对象进行振动。
[0192]
步骤803、在目标业务场景下按照振动指示信息和振动描述文件驱动目标振动装置进行振动。
[0193]
与步骤s802相对应的,根据振动指示信息的不同,驱动目标振动装置进行振动的方式也有所不同,其中:
[0194]
1)振动指示信息包括融合振动信息,融合振动信息用于指示终端设备驱动目标振动装置对第一振动对象和目标振动对象进行融合振动,那么在业务场景下按照振动指示信息和振动描述文件驱动目标振动装置进行振的实现方式可包括:从第一振动对象的振动参数中获取第一振动对象的控制参数;将第一振动对象的控制参数和目标振动对象的控制参数进行融合处理,得到新的控制参数;在目标业务场景下,驱动目标振动装置基于新的控制参数进行振动。
[0195]
2)振动指示信息包括第一优先级振动信息或第二优先级振动信息,第一优先级振动信息和第二优先级振动信息均用于指示终端设备根据第一振动对象的振动优先级和目标振动对象的振动优先级,选择驱动目标振动装置对第一振动对象进行振动或者对目标振动对象进行振动;那么在目标业务场景下按照振动指示信息和振动描述文件驱动目标振动装置进行振动的实现方式可包括:从第一振动对象的控制参数中获取第一振动对象的振动优先级,以及从目标振动对象的控制参数中获取目标振动对象的振动优先级;如果第一振动对象的振动优先级和目标振动对象的振动优先级不相同,则在目标业务场景下,驱动目标振动装置按照较高振动优先级的振动对象对应的控制参数进行振动;如果第一振动对象的振动优先级和目标振动对象的振动优先级相同,则在目标业务场景下,驱动目标振动装置按照第一振动对象的控制参数进行振动,或者按照目标振动对象的控制参数进行振动。
[0196]
3)振动指示信息包括单独振动信息,单独振动信息用于指示终端设备驱动目标振动装置对目标振动对象进行振动,那么在目标业务场景下按照振动指示信息和振动描述文件驱动目标振动装置进行振动的实现方式可包括:在目标业务场景下,驱动目标振动装置按照目标振动装置的控制参数进行振动。
[0197]
需要说明的是,在执行步骤s803之前,本技术实施例还支持从终端设备部署的m个
振动装置中定位出目标振动装置。具体实现中,获取m个振动装置的m个振动装置信息;根据目标振动对象的位置信息和m个振动装置信息,确定负责对目标振动对象进行振动管理的目标振动装置。
[0198]
本技术实施例中,当识别到目标应用的目标业务场景中存在需要振动的目标振动对象后,可结合与目标振动对象相适配的目标振动装置的工作状态,生成振动指示信息,这样可以根据振动指示信息和目标振动对象的振动描述来驱动目标振动装置进行振动。上述方案中,终端设备基于目标应用发送的振动指示信息来确定如何驱动振动装置进行振动,丰富了振动方式的同时,准确地执行目标业务场景中发生的振动,从而实现了通过终端设备驱动振动装置的振动达到模拟真实物理环境中目标业务场景的效果,提高目标用户的振动体验的完整性,提高振动效果的真实性和灵活性。
[0199]
上述详细阐述了本技术实施例的业务处理方法,为了便于更好地实施本技术实施例的上述方案,相应地,下面提供了本技术实施例的装置。
[0200]
图9示出了本技术一个示例性实施例提供的一种业务处理装置的结构示意图;该业务处理装置可以是运行于目标应用中的一个计算机程序(包括程序代码);该业务处理装置可以用于执行图2所示的方法实施例中的部分或全部步骤。请参见图9,该业务处理装置包括如下单元:
[0201]
处理单元901,用于识别目标应用中的目标业务场景;
[0202]
获取单元902,用于若目标业务场景中包括需要振动的目标振动对象,则获取目标业务场景的振动描述文件,目标业务场景的振动描述文件中包括目标业务场景中的目标振动对象的振动参数,目标振动对象的振动参数包括目标振动对象的振动模式;目标振动对象的振动模式包括抢占模式或叠加模式;
[0203]
获取单元902,还用于获取终端设备中与目标振动对象匹配的目标振动装置的工作状态;
[0204]
处理单元901,还用于基于目标振动对象的振动模式和目标振动装置的工作状态生成振动指示信息;
[0205]
处理单元901,还用于将振动指示信息及振动描述文件发送至终端设备,以使终端设备在目标业务场景下按照振动指示信息和振动描述文件驱动目标振动装置进行振动。
[0206]
在一种实现方式中,处理单元901,还用于:
[0207]
按照目标业务场景的场景需求,配置目标振动对象的振动描述文件;
[0208]
其中,目标振动对象的振动参数还包括目标振动对象的属性参数及目标振动对象的控制参数;属性参数包括以下任一种:位置信息、运动信息以及振动优先级;控制参数包括以下至少一种:振动开始时间、振动持续时间、振动结束时间、振动频率、振动强度。
[0209]
在一种实现方式中,处理单元901,用于获取终端设备中与目标振动对象相适配的目标振动装置的工作状态时,具体用于:
[0210]
获取终端设备上报的m个振动控制装置的m个振动装置信息,一个振动控制装置的振动装置信息中包括一个振动控制装置负责进行振动管理的位置范围以及一个振动装置的工作状态;
[0211]
根据目标振动对象的振动参数中包括的位置信息和m个振动装置信息,确定负责对目标振动对象进行振动管理的目标振动装置,并获取目标振动装置的工作状态。
[0212]
在一种实现方式中,振动指示信息包括融合振动信息,处理单元901,用于基于目标振动对象的振动模式和目标振动装置的工作状态生成振动指示信息时,具体用于:
[0213]
若目标振动装置的工作状态为正在执行第一振动对象的振动,目标振动对象的振动模式包括叠加模式,则获取第一振动对象的振动模式;
[0214]
如果第一振动对象的振动模式为叠加模式,则生成融合振动信息,融合振动信息用于指示终端设备驱动目标振动装置对第一振动对象和目标振动对象进行融合振动。
[0215]
在一种实现方式中,振动指示信息包括第一优先级振动信息,处理单元901,用于基于目标振动对象的振动模式和目标振动装置的工作状态生成振动指示信息时,具体用于:
[0216]
若目标振动装置的工作状态为正在执行第一振动对象的振动,目标振动对象的振动模式包括叠加模式,第一振动对象的振动模式为抢占模式,则生成第一优先级振动信息,第一优先级振动信息用于指示终端设备根据第一振动对象的振动优先级和目标振动对象的振动优先级,选择驱动目标振动装置对第一振动对象进行振动或者对目标振动对象进行振动。
[0217]
在一种实现方式中,振动指示信息包括第二优先级振动信息,处理单元901,用于基于目标振动对象的振动模式和目标振动装置的工作状态生成振动指示信息时,具体用于:
[0218]
若目标振动装置的工作状态为正在执行第一振动对象的振动,目标振动对象的振动模式包括抢占模式,则生成第二优先级振动信息,第二优先级振动信息用于指示终端设备根据第一振动对象的振动优先级和目标振动对象的振动优先级,选择驱动目标振动装置对第一振动对象进行振动或者对目标振动对象进行振动。
[0219]
在一种实现方式中,振动指示信息包括单独振动信息,处理单元901,用于基于目标振动对象的振动模式和目标振动装置的工作状态生成振动指示信息时,具体用于:
[0220]
若目标振动装置的工作状态为空闲状态,则生成单独振动信息,单独振动信息用于指示终端设备驱动目标振动装置对目标振动对象进行振动。
[0221]
在一种实现方式中,目标应用包括游戏应用,目标业务场景为游戏应用中的任一游戏场景。
[0222]
根据本技术的一个实施例,图9所示的业务处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本技术的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本技术的其它实施例中,该业务处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。根据本技术的另一个实施例,可以通过在包括中央处理单元(cpu)、随机存取存储介质(ram)、只读存储介质(rom)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图9中所示的业务处理装置,以及来实现本技术实施例的业务处理方法。计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
[0223]
本技术实施例中,处理单元901用于识别目标业务场景,当目标业务场景中存在需要振动的目标振动对象后,结合与目标振动对象相适配的目标振动装置的工作状态,生成振动指示信息,这样终端设备可以根据振动指示信息和目标振动对象的振动描述来驱动目标振动装置进行振动。上述方案中,目标应用可将振动指示信息发送至终端设备,以使终端设备基于振动指示信息来确定如何驱动目标振动装置进行振动,丰富了振动方式的同时,准确地执行目标业务场景中发生的振动,从而实现了通过终端设备驱动振动装置的振动达到模拟真实物理环境中目标业务场景的效果,提高目标用户的振动体验的完整性,提高振动效果的真实性和灵活性。
[0224]
图10示出了本技术一个示例性实施例提供的一种业务处理装置的结构示意图;该业务处理装置可以是运行于目标应用中的一个计算机程序(包括程序代码);该业务处理装置可以用于执行图5所示的方法实施例中的部分或全部步骤。请参见图10,该业务处理装置包括如下单元:
[0225]
接收单元1001,用于接收目标应用发送的目标业务场景的振动描述文件和振动指示信息,目标业务场景的振动描述文件和振动指示信息是目标应用识别到目标业务场景中包括需要振动的目标振动对象时发送的,振动描述文件包括目标振动对象的振动参数,目标振动对象的振动参数包括目标振动对象的振动模式,振动模式包括抢占模式或叠加模式;
[0226]
振动指示信息是基于目标振动对象的振动模式和目标振动装置的工作状态生成的,目标振动装置是指与目标振动对象匹配的振动控制装置;
[0227]
处理单元1002,用于从m个振动控制装置中定位目标振动装置,并在目标业务场景下按照振动指示信息和振动描述文件驱动目标振动装置进行振动。
[0228]
在一种实现方式中,振动参数包括目标振动对象的属性参数以及控制参数;属性参数包括以下任一种:位置信息、运动信息以及振动优先级;目标振动对象的控制参数包括以下至少一种:振动开始时间、振动持续时间、振动结束时间、振动频率、振动强度。
[0229]
在一种实现方式中,属性参数包括目标振动对象的位置信息,处理单元1002用于从m个振动控制装置中定位目标振动装置时,具体用于:
[0230]
获取m个振动控制装置的m个振动装置信息,一个振动装置信息中包括一个振动控制装置负责进行振动管理的位置范围;
[0231]
根据目标振动对象的位置信息和m个振动装置信息,确定负责对目标振动对象进行振动管理的目标振动装置。
[0232]
在一种实现方式中,振动指示信息包括融合振动信息,融合振动信息用于指示终端设备驱动目标振动装置对第一振动对象和目标振动对象进行融合振动,第一振动对象是指目标振动装置正在执行振动对应的振动对象;
[0233]
处理单元1002,用于在业务场景下按照振动指示信息和振动描述文件驱动目标振动装置进行振动时,具体用于:
[0234]
从第一振动对象的振动参数中获取第一振动对象的控制参数;
[0235]
将第一振动对象的控制参数和目标振动对象的控制参数进行融合处理,得到新的控制参数;
[0236]
在目标业务场景下,驱动目标振动装置基于新的控制参数进行振动。
[0237]
在一种实现方式中,振动指示信息包括第一优先级振动信息或第二优先级振动信息,第一优先级振动信息和第二优先级振动信息均用于指示根据第一振动对象的振动优先级和目标振动对象的振动优先级,选择驱动目标振动装置对第一振动对象进行振动或者对目标振动对象进行振动;
[0238]
处理单元1002,用于在目标业务场景下按照振动指示信息和振动描述文件驱动目标振动装置进行振动时,具体用于:
[0239]
从第一振动对象的控制参数中获取第一振动对象的振动优先级,以及从目标振动对象的控制参数中获取目标振动对象的振动优先级;
[0240]
如果第一振动对象的振动优先级和目标振动对象的振动优先级不相同,则在目标业务场景下,驱动目标振动装置按照较高振动优先级的振动对象对应的控制参数进行振动;
[0241]
如果第一振动对象的振动优先级和目标振动对象的振动优先级相同,则在目标业务场景下,驱动目标振动装置按照第一振动对象的控制参数进行振动,或者按照目标振动对象的控制参数进行振动。
[0242]
在一种实现方式中,振动指示信息包括单独振动信息,单独振动信息用于指示终端设备驱动目标振动装置对目标振动对象进行振动,处理单元1002用于在目标业务场景下按照振动指示信息和振动描述文件驱动目标振动装置进行振动时,具体用于:
[0243]
在目标业务场景下,驱动目标振动装置按照目标振动装置的控制参数进行振动。
[0244]
根据本技术的一个实施例,图10所示的业务处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本技术的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本技术的其它实施例中,该业务处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。根据本技术的另一个实施例,可以通过在包括中央处理单元(cpu)、随机存取存储介质(ram)、只读存储介质(rom)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图5所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图10中所示的业务处理装置,以及来实现本技术实施例的业务处理方法。计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
[0245]
本技术实施例中,接收单元1001可接收目标应用下发的目标业务场景的振动描述文件和振动指示信息,处理单元1002可从m个振动控制装置中定位目标振动装置,以在目标业务场景下按照振动指示信息和振动描述文件驱动目标振动装置进行振动。上述方案中,终端设备基于目标应用发送的振动指示信息来确定如何驱动振动装置进行振动,丰富了振动方式的同时,准确地执行目标业务场景中发生的振动,从而实现了通过终端设备驱动振动装置的振动达到模拟真实物理环境中目标业务场景的效果,提高目标用户的振动体验的完整性,提高振动效果的真实性和灵活性。
[0246]
图11示出了本技术一个示例性实施例提供的一种业务处理设备的结构示意图。请参见图11,该业务处理设备,包括处理器1101、通信接口1002以及计算机可读存储介质
1103。其中,处理器1101、通信接口1002以及计算机可读存储介质1103可通过总线或者其它方式连接。其中,通信接口1002用于接收和发送数据。计算机可读存储介质1103可以存储在业务处理设备的存储器中,计算机可读存储介质1103用于存储计算机程序,计算机程序包括程序指令,处理器1101用于执行计算机可读存储介质1103存储的程序指令。处理器1101(或称cpu(central processing unit,中央处理器))是业务处理设备的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现相应方法流程或相应功能。
[0247]
本技术实施例还提供了一种计算机可读存储介质(memory),计算机可读存储介质是业务处理设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括业务处理设备中的内置存储介质,当然也可以包括业务处理设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了业务处理设备的处理系统。并且,在该存储空间中还存放了适于被处理器1101加载并执行的一条或多条的指令,这些指令可以是一个或多个的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速ram存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的,还可以是至少一个位于远离前述处理器的计算机可读存储介质。
[0248]
在一个实施例中,该业务处理设备可以是前述实施例提到的目标应用;该计算机可读存储介质中存储有一条或多条指令;由处理器1101加载并执行计算机可读存储介质中存放的一条或多条指令,以实现上述业务处理方法实施例中的相应步骤;具体实现中,计算机可读存储介质中的一条或多条指令由处理器1101加载并执行如下步骤:
[0249]
识别目标应用中的目标业务场景;
[0250]
若目标业务场景中包括需要振动的目标振动对象,则获取目标业务场景的振动描述文件,目标业务场景的振动描述文件中包括目标业务场景中的目标振动对象的振动参数,目标振动对象的振动参数包括目标振动对象的振动模式;目标振动对象的振动模式包括抢占模式或叠加模式;
[0251]
获取终端设备中与目标振动对象匹配的目标振动装置的工作状态;
[0252]
基于目标振动对象的振动模式和目标振动装置的工作状态生成振动指示信息;
[0253]
将振动指示信息及振动描述文件发送至终端设备,以使终端设备在目标业务场景下按照振动指示信息和振动描述文件驱动目标振动装置进行振动。
[0254]
在一种实现方式中,计算机可读存储介质中的一条或多条指令由处理器1101加载并还执行如下步骤:
[0255]
按照目标业务场景的场景需求,配置目标振动对象的振动描述文件;
[0256]
其中,目标振动对象的振动参数还包括目标振动对象的属性参数及目标振动对象的控制参数;属性参数包括以下任一种:位置信息、运动信息以及振动优先级;控制参数包括以下至少一种:振动开始时间、振动持续时间、振动结束时间、振动频率、振动强度。
[0257]
在一种实现方式中,计算机可读存储介质中的一条或多条指令由处理器1101加载并在执行获取终端设备中与目标振动对象相适配的目标振动装置的工作状态时,具体执行如下步骤:
[0258]
获取终端设备上报的m个振动控制装置的m个振动装置信息,一个振动控制装置的
振动装置信息中包括一个振动控制装置负责进行振动管理的位置范围以及一个振动装置的工作状态;
[0259]
根据目标振动对象的振动参数中包括的位置信息和m个振动装置信息,确定负责对目标振动对象进行振动管理的目标振动装置,并获取目标振动装置的工作状态。
[0260]
在一种实现方式中,振动指示信息包括融合振动信息,计算机可读存储介质中的一条或多条指令由处理器1101加载并在执行基于目标振动对象的振动模式和目标振动装置的工作状态生成振动指示信息时,具体执行如下步骤:
[0261]
若目标振动装置的工作状态为正在执行第一振动对象的振动,目标振动对象的振动模式包括叠加模式,则获取第一振动对象的振动模式;
[0262]
如果第一振动对象的振动模式为叠加模式,则生成融合振动信息,融合振动信息用于指示终端设备驱动目标振动装置对第一振动对象和目标振动对象进行融合振动。
[0263]
在一种实现方式中,振动指示信息包括第一优先级振动信息,计算机可读存储介质中的一条或多条指令由处理器1101加载并在执行基于目标振动对象的振动模式和目标振动装置的工作状态生成振动指示信息时,具体执行如下步骤:
[0264]
若目标振动装置的工作状态为正在执行第一振动对象的振动,目标振动对象的振动模式包括叠加模式,第一振动对象的振动模式为抢占模式,则生成第一优先级振动信息,第一优先级振动信息用于指示终端设备根据第一振动对象的振动优先级和目标振动对象的振动优先级,选择驱动目标振动装置对第一振动对象进行振动或者对目标振动对象进行振动。
[0265]
在一种实现方式中,振动指示信息包括第二优先级振动信息,计算机可读存储介质中的一条或多条指令由处理器1101加载并在执行基于目标振动对象的振动模式和目标振动装置的工作状态生成振动指示信息时,具体执行如下步骤:
[0266]
若目标振动装置的工作状态为正在执行第一振动对象的振动,目标振动对象的振动模式包括抢占模式,则生成第二优先级振动信息,第二优先级振动信息用于指示终端设备根据第一振动对象的振动优先级和目标振动对象的振动优先级,选择驱动目标振动装置对第一振动对象进行振动或者对目标振动对象进行振动。
[0267]
在一种实现方式中,振动指示信息包括单独振动信息,计算机可读存储介质中的一条或多条指令由处理器1101加载并在执行基于目标振动对象的振动模式和目标振动装置的工作状态生成振动指示信息时,具体执行如下步骤:
[0268]
若目标振动装置的工作状态为空闲状态,则生成单独振动信息,单独振动信息用于指示终端设备驱动目标振动装置对目标振动对象进行振动。
[0269]
在一种实现方式中,目标应用包括游戏应用,目标业务场景为游戏应用中的任一游戏场景。
[0270]
另一个实施例中,该业务处理设备可以是前述实施例提到的终端设备;该计算机可读存储介质中存储有一条或多条指令;由处理器1101加载并执行计算机可读存储介质中存放的一条或多条指令,以实现上述业务处理方法实施例中的相应步骤;具体实现中,计算机可读存储介质中的一条或多条指令由处理器1101加载并执行如下步骤:
[0271]
接收目标应用发送的目标业务场景的振动描述文件和振动指示信息,目标业务场景的振动描述文件和振动指示信息是目标应用识别到目标业务场景中包括需要振动的目
标振动对象时发送的,振动描述文件包括目标振动对象的振动参数,目标振动对象的振动参数包括目标振动对象的振动模式,振动模式包括抢占模式或叠加模式;
[0272]
振动指示信息是基于目标振动对象的振动模式和目标振动装置的工作状态生成的,目标振动装置是指与目标振动对象匹配的振动控制装置;
[0273]
从m个振动控制装置中定位目标振动装置,并在目标业务场景下按照振动指示信息和振动描述文件驱动目标振动装置进行振动。
[0274]
在一种实现方式中,振动参数包括目标振动对象的属性参数以及控制参数;属性参数包括以下任一种:位置信息、运动信息以及振动优先级;目标振动对象的控制参数包括以下至少一种:振动开始时间、振动持续时间、振动结束时间、振动频率、振动强度。
[0275]
在一种实现方式中,属性参数包括目标振动对象的位置信息,计算机可读存储介质中的一条或多条指令由处理器1101加载并在执行从m个振动控制装置中定位目标振动装置时,具体执行如下步骤:
[0276]
获取m个振动控制装置的m个振动装置信息,一个振动装置信息中包括一个振动控制装置负责进行振动管理的位置范围;
[0277]
根据目标振动对象的位置信息和m个振动装置信息,确定负责对目标振动对象进行振动管理的目标振动装置。
[0278]
在一种实现方式中,振动指示信息包括融合振动信息,融合振动信息用于指示终端设备驱动目标振动装置对第一振动对象和目标振动对象进行融合振动,第一振动对象是指目标振动装置正在执行振动对应的振动对象;
[0279]
计算机可读存储介质中的一条或多条指令由处理器1101加载并在执行在业务场景下按照振动指示信息和振动描述文件驱动目标振动装置进行振动时,具体执行如下步骤:
[0280]
从第一振动对象的振动参数中获取第一振动对象的控制参数;
[0281]
将第一振动对象的控制参数和目标振动对象的控制参数进行融合处理,得到新的控制参数;
[0282]
在目标业务场景下,驱动目标振动装置基于新的控制参数进行振动。
[0283]
在一种实现方式中,振动指示信息包括第一优先级振动信息或第二优先级振动信息,第一优先级振动信息和第二优先级振动信息均用于指示根据第一振动对象的振动优先级和目标振动对象的振动优先级,选择驱动目标振动装置对第一振动对象进行振动或者对目标振动对象进行振动;
[0284]
计算机可读存储介质中的一条或多条指令由处理器1101加载并在执行在目标业务场景下按照振动指示信息和振动描述文件驱动目标振动装置进行振动时,具体执行如下步骤:
[0285]
从第一振动对象的控制参数中获取第一振动对象的振动优先级,以及从目标振动对象的控制参数中获取目标振动对象的振动优先级;
[0286]
如果第一振动对象的振动优先级和目标振动对象的振动优先级不相同,则在目标业务场景下,驱动目标振动装置按照较高振动优先级的振动对象对应的控制参数进行振动;
[0287]
如果第一振动对象的振动优先级和目标振动对象的振动优先级相同,则在目标业
务场景下,驱动目标振动装置按照第一振动对象的控制参数进行振动,或者按照目标振动对象的控制参数进行振动。
[0288]
在一种实现方式中,振动指示信息包括单独振动信息,单独振动信息用于指示终端设备驱动目标振动装置对目标振动对象进行振动,计算机可读存储介质中的一条或多条指令由处理器1101加载并在执行在目标业务场景下按照振动指示信息和振动描述文件驱动目标振动装置进行振动时,具体执行如下步骤:
[0289]
在目标业务场景下,驱动目标振动装置按照目标振动装置的控制参数进行振动。
[0290]
本技术实施例还提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。业务处理设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该业务处理设备执行上述业务处理方法。
[0291]
本领域普通技术人员可以意识到,结合本技术中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用,使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0292]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程设备。计算机指令可以存储在计算机可读存储介质中,或者通过计算机可读存储介质进行传输。计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如,同轴电缆、光纤、数字用户线(dsl))或无线(例如,红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如,固态硬盘(solid state disk,ssd))等。
[0293]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1