CN116827205B - 马达振动的控制方法、电子设备及可读存储介质 - Google Patents
马达振动的控制方法、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN116827205B CN116827205B CN202311112087.7A CN202311112087A CN116827205B CN 116827205 B CN116827205 B CN 116827205B CN 202311112087 A CN202311112087 A CN 202311112087A CN 116827205 B CN116827205 B CN 116827205B
- Authority
- CN
- China
- Prior art keywords
- target
- audio frame
- motor
- vibration
- target audio
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 111
- 230000008569 process Effects 0.000 claims abstract description 60
- 238000005070 sampling Methods 0.000 claims description 26
- 238000001914 filtration Methods 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 8
- 238000006467 substitution reaction Methods 0.000 abstract description 13
- 230000006870 function Effects 0.000 description 34
- 239000010410 layer Substances 0.000 description 23
- 238000012545 processing Methods 0.000 description 22
- 238000007726 management method Methods 0.000 description 21
- 238000001228 spectrum Methods 0.000 description 21
- 230000008859 change Effects 0.000 description 20
- 230000000694 effects Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 10
- 230000005236 sound signal Effects 0.000 description 9
- 238000011161 development Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000010295 mobile communication Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000004880 explosion Methods 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
- H04M1/72454—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions
-
- 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
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P23/00—Arrangements or methods for the control of AC motors characterised by a control method other than vector control
- H02P23/14—Estimation or adaptation of motor parameters, e.g. rotor time constant, flux, speed, current or voltage
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P25/00—Arrangements or methods for the control of AC motors characterised by the kind of AC motor or by structural details
- H02P25/02—Arrangements or methods for the control of AC motors characterised by the kind of AC motor or by structural details characterised by the kind of motor
- H02P25/032—Reciprocating, oscillating or vibrating motors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72406—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Theoretical Computer Science (AREA)
- Environmental & Geological Engineering (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开了一种马达振动的控制方法、电子设备及可读存储介质,属于终端技术领域。应用于电子设备中,该方法包括:确定目标应用程序待播放的目标音频帧,目标应用程序为能够进行音频播放的应用程序;确定目标音频帧与参考音频帧之间的能量差值,参考音频帧是在目标音频帧之前播放的上一帧音频帧;在能量差值大于预设能量阈值的情况下,在播放目标音频帧的过程中,基于目标音频帧的信号强度信息驱动电子设备的马达进行振动,信号强度信息用于指示目标音频帧的信号强度。在本申请中,在播放目标音频帧的过程中,配合马达进行振动,从而增加了控制马达的场景丰富性,增强了用户使用应用程序的体验和代入感,进一步增强了用户粘度。
Description
技术领域
本申请涉及终端技术领域,特别涉及一种马达振动的控制方法、电子设备及可读存储介质。
背景技术
随着终端技术的发展,手机、平板等电子设备的功能越来越多,电子设备中能够安装的娱乐应用程序越来越多,比如,各类游戏应用程序、视频应用程序等,用户可以通过安装的各类游戏应用程序、视频应用程序来实现各类娱乐活动。
而随着应用程序种类的丰富,用户对应用程序的使用需求也渐渐提升。其中,马达的振动可以模拟各种物品、动作的实际触感,为用户提供良好的使用体验与代入感,因此,通过马达振动来提升用户使用应用程序的体验和代入感已逐渐受到关注。
发明内容
本申请提供了一种马达振动的控制方法、电子设备及可读存储介质,可以用于提升控制马达的场景丰富性。所述技术方案如下:
第一方面,提供了一种马达振动的控制方法,应用于电子设备中,所述方法包括:
确定目标应用程序待播放的目标音频帧,所述目标应用程序为能够进行音频播放的应用程序;
确定所述目标音频帧与参考音频帧之间的能量差值,所述参考音频帧是在所述目标音频帧之前播放的上一帧音频帧;
在所述能量差值大于预设能量阈值的情况下,在播放所述目标音频帧的过程中,基于所述目标音频帧的信号强度信息驱动所述电子设备的马达进行振动,所述信号强度信息用于指示所述目标音频帧的信号强度。
如此,由于目标音频帧与参考音频帧之间的能量差值较大的情况下,说明参考音频帧与目标音频帧之间变化较大,很可能是因场景和/或音效变化较大,在播放目标音频帧的过程中,配合马达进行振动,从而增加了控制马达的场景丰富性,增强了用户使用应用程序的体验和代入感,进一步增强了用户粘度。
作为本申请的一个示例,所述确定所述目标音频帧与参考音频帧之间的能量差值,包括:
对所述目标音频帧和所述参考音频帧分别进行带通滤波处理,得到所述目标音频帧对应的目标振动频段和所述参考音频帧对应的参考振动频段;
根据所述目标振动频段中每个音频采样点的幅值,确定所述目标振动频段对应的目标能量值,并根据所述参考振动频段中每个音频采样点的幅值,确定所述参考振动频段对应的参考能量值;
确定所述目标能量值与所述参考能量值之间的差值的绝对值,得到所述能量差值。
如此,通过对目标音频帧和参考音频帧分别进行带通滤波处理,从而能够获取到后续需要的振动频段,提高了后续处理的效率。
作为本申请的一个示例,所述信号强度信息包括所述目标音频帧的目标平均幅值;
所述在所述能量差值大于预设能量阈值的情况下,在播放所述目标音频帧的过程中,基于所述目标音频帧的信号强度信息驱动所述电子设备的马达进行振动,包括:
在所述能量差值大于所述预设能量阈值的情况下,在播放所述目标音频帧的过程中,确定所述目标音频帧的平均幅值,得到所述目标平均幅值;
根据所述目标平均幅值,从目标对应关系中确定对应的目标振动频率和目标振动幅度,所述目标对应关系用于描述平均幅值、振动频率和振动幅度三者之间的对应关系;
按照所述目标振动频率和所述目标振动幅度驱动所述马达进行振动。
如此,通过设置目标对应关系,可以快速确定驱动马达振动的目标振动频率和目标振动幅度,从而提高了驱动马达进行振动的效率。
作为本申请的一个示例,所述信号强度信息包括所述目标音频帧对应的驱动电压;
所述在所述能量差值大于预设能量阈值的情况下,在播放所述目标音频帧的过程中,基于所述目标音频帧的信号强度信息驱动所述电子设备的马达进行振动,包括:
在所述能量差值大于所述预设能量阈值的情况下,在播放所述目标音频帧的过程中,确定所述目标音频帧对应的驱动电压;
按照所述驱动电压驱动所述马达进行振动。
如此,通过驱动电压驱动马达进行振动,使得驱动马达的操作更加便捷。
作为本申请的一个示例,所述确定所述目标音频帧与参考音频帧之间的能量差值之后,还包括:
在所述能量差值小于或等于所述预设能量阈值的情况下,若在开始播放所述目标音频帧之前所述马达已处于振动状态且所述马达的振动时长小于振动时长阈值,则在播放所述目标音频帧的过程中,基于所述目标音频帧的信号强度信息驱动所述马达进行振动;
在所述能量差值小于或等于所述预设能量阈值的情况下,若在开始播放所述目标音频帧之前所述马达已处于振动状态且所述马达的振动时长大于或等于所述振动时长阈值,则控制所述马达停止振动。
如此,在能量差值小于或等于预设能量阈值的情况下,通过确定在开始播放目标音频帧之前马达的振动状态,从而更能准确地控制马达的振动,提高了马达振动的准确性。
作为本申请的一个示例,所述在所述能量差值大于预设能量阈值的情况下,在播放所述目标音频帧的过程中,基于所述目标音频帧的信号强度信息驱动所述电子设备的马达进行振动之后,还包括:
确定振动时长,所述振动时长为基于所述目标音频帧的信号强度信息驱动所述马达开始振动后进行计时所得到的时长;
在所述振动时长达到振动时长阈值的情况下,控制所述马达停止振动。
如此,通过确定马达的振动时长,避免了马达长时间振动,从而避免了马达的滥用。
作为本申请的一个示例,所述确定目标应用程序待播放的目标音频帧之前,包括:
响应于对所述目标应用程序的启动操作,启动所述目标应用程序;
确定所述目标应用程序的应用类型;
所述确定目标应用程序待播放的目标音频帧,包括:
在所述目标应用程序的应用类型属于指定类型的情况下,确定所述目标音频帧,所述指定类型包括游戏类型、视频类型、音频类型、即时通讯类型中的至少一种。
如此,通过限定驱动马达振动的应用程序的类型,避免了马达的滥用。
作为本申请的一个示例,所述在所述目标应用程序的应用类型属于指定类型的情况下,确定所述目标音频帧,包括:
在所述目标应用程序的应用类型属于所述指定类型的情况下,若所述目标应用程序的应用标识位于预设白名单中,则确定所述目标音频帧。
如此,电子设备可以对目标应用程序进行多重判断,从而使得驱动马达进行更具有针对性,避免了马达的滥用。
第二方面,提供了一种马达振动的控制装置,所述马达振动的控制装置具有实现上述第一方面中马达振动的控制方法行为的功能。所述马达振动的控制装置包括至少一个模块,所述至少一个模块用于实现上述第一方面所提供的马达振动的控制方法。所述马达振动的控制装置包括:
第一确定模块,用于确定目标应用程序待播放的目标音频帧,所述目标应用程序为能够进行音频播放的应用程序;
第二确定模块,用于确定所述目标音频帧与参考音频帧之间的能量差值,所述参考音频帧是在所述目标音频帧之前播放的上一帧音频帧;
第一驱动模块,用于在所述能量差值大于预设能量阈值的情况下,在播放所述目标音频帧的过程中,基于所述目标音频帧的信号强度信息驱动所述电子设备的马达进行振动,所述信号强度信息用于指示所述目标音频帧的信号强度。
作为本申请的一个示例,所述第二确定模块用于:
对所述目标音频帧和所述参考音频帧分别进行带通滤波处理,得到所述目标音频帧对应的目标振动频段和所述参考音频帧对应的参考振动频段;
根据所述目标振动频段中每个音频采样点的幅值,确定所述目标振动频段对应的目标能量值,并根据所述参考振动频段中每个音频采样点的幅值,确定所述参考振动频段对应的参考能量值;
确定所述目标能量值与所述参考能量值之间的差值的绝对值,得到所述能量差值。
作为本申请的一个示例,所述信号强度信息包括所述目标音频帧的目标平均幅值;
所述第一驱动模块用于:
在所述能量差值大于所述预设能量阈值的情况下,在播放所述目标音频帧的过程中,确定所述目标音频帧的平均幅值,得到所述目标平均幅值;
根据所述目标平均幅值,从目标对应关系中确定对应的目标振动频率和目标振动幅度,所述目标对应关系用于描述平均幅值、振动频率和振动幅度三者之间的对应关系;
按照所述目标振动频率和所述目标振动幅度驱动所述马达进行振动。
作为本申请的一个示例,所述信号强度信息包括所述目标音频帧对应的驱动电压;
所述第一驱动模块用于:
在所述能量差值大于所述预设能量阈值的情况下,在播放所述目标音频帧的过程中,确定所述目标音频帧对应的驱动电压;
按照所述驱动电压驱动所述马达进行振动。
作为本申请的一个示例,所述装置还包括:
第二驱动模块,用于在所述能量差值小于或等于所述预设能量阈值的情况下,若在开始播放所述目标音频帧之前所述马达已处于振动状态且所述马达的振动时长小于振动时长阈值,则在播放所述目标音频帧的过程中,基于所述目标音频帧的信号强度信息驱动所述马达进行振动;
第一控制模块,用于在所述能量差值小于或等于所述预设能量阈值的情况下,若在开始播放所述目标音频帧之前所述马达已处于振动状态且所述马达的振动时长大于或等于所述振动时长阈值,则控制所述马达停止振动。
作为本申请的一个示例,所述装置还包括:
第三确定模块,用于确定振动时长,所述振动时长为基于所述目标音频帧的信号强度信息驱动所述马达开始振动后进行计时所得到的时长;
第二控制模块,用于在所述振动时长达到振动时长阈值的情况下,控制所述马达停止振动。
作为本申请的一个示例,所述装置还包括:
启动模块,用于响应于对所述目标应用程序的启动操作,启动所述目标应用程序;
第四确定模块,用于确定所述目标应用程序的应用类型;
所述第一确定模块用于:
在所述目标应用程序的应用类型属于指定类型的情况下,确定所述目标音频帧,所述指定类型包括游戏类型、视频类型、音频类型、即时通讯类型中的至少一种。
作为本申请的一个示例,所述第一确定模块用于:
在所述目标应用程序的应用类型属于所述指定类型的情况下,若所述目标应用程序的应用标识位于预设白名单中,则确定所述目标音频帧。
第三方面,提供了一种电子设备,所述电子设备的结构中包括处理器和存储器,所述存储器用于存储支持电子设备执行上述第一方面所提供的马达振动的控制方法的程序,以及存储用于实现上述第一方面所述的马达振动的控制方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述电子设备还可以包括通信总线,所述通信总线用于在所述处理器与所述存储器之间建立连接。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的马达振动的控制方法。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的马达振动的控制方法。
上述第二方面、第三方面、第四方面和第五方面所获得的技术效果与上述第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
附图说明
图1是本申请实施例提供的一种电子设备的结构示意图;
图2是本申请实施例提供的一种电子设备的软件系统的框图;
图3是本申请实施例提供的一种马达振动的控制方法流程示意图;
图4是本申请实施例提供的另一种马达振动的控制方法流程示意图;
图5是本申请实施例提供的另一种马达振动的控制方法流程示意图;
图6是本申请实施例提供的一种马达振动的控制装置结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施方式作进一步地详细描述。
应当理解的是,本申请提及的“多个”是指两个或两个以上。在本申请的描述中,除非另有说明,“/”表示或的意思,比如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,比如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,为了便于清楚描述本申请的技术方案,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
在一些应用场景中,电子设备中可以安装马达,且马达可以是线性马达,线性马达可以急速启动,且振动幅度和振动频率均能够精细控制,从而能够模拟各种物品、动作的时机触感。比如,用户可能会通过电子设备使用游戏类应用程序,如使用射击类应用程序,为了使用户拥有更丰富的使用体验,对于射击类游戏,用户在点击射击按钮的情况下,电子设备不仅可以播放射击音效,同时配合射击音效驱动马达振动。
但是,由于大多数应用程序不存在与马达进行配合使用的功能,导致电子设备中的马达使用场景有限,未发挥马达的优势。
为了增加马达使用场景,以提升用户使用应用程序的体验和代入感,本申请实施例提供了一种马达振动的控制方法,该方法中,电子设备可以获取目标应用程序中待播放的目标音频帧,并确定在播放目标音频帧之前播放的上一帧参考音频帧与目标音频帧之间的能量差值,在能量差值大于预设能量阈值的情况下,在播放目标音频帧过程中,可以基于目标音频帧的信号强度信息驱动马达进行振动。由于目标音频帧与参考音频帧之间的能量差值较大的情况下,说明参考音频帧与目标音频帧之间变化较大,很可能是因场景和/或音效变化较大,在播放目标音频帧的过程中,配合马达进行振动,从而增加了控制马达的场景丰富性,增强了用户使用应用程序的体验和代入感,进一步增强了用户粘度。
对本申请实施例提供的马达振动的控制方法进行详细地解释说明之前,先对本申请实施例涉及的电子设备予以说明。
作为一个示例,该方法可以应用于电子设备中,电子设备中可以安装有游戏类应用程序、视频类应用程序、即时通信类应用程序、音频类应用程序等。作为示例而非限定,电子设备可以是但不限于平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑、车载设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)、手机、智能手表等,本申请实施例对此不作限定。
图1是本申请实施例提供的一种电子设备的结构示意图。参见图1,电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serialbus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191(比如,该马达可以线性马达),指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中,传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,比如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从该存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口,如可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备100供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。比如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,比如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,比如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,比如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。比如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,计算机可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,来执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100在使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,比如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D以及应用处理器等实现音频功能,比如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动终端平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。比如:当有触摸操作强度小于压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器180K可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
马达191可以产生振动提示。该马达191可以为线性马达,马达191可以用于来电振动提示,也可以用于触摸振动反馈。比如,作用于不同应用(比如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,也可对应不同的振动反馈效果。不同的应用场景(比如:时间提醒,接收信息,闹钟,游戏等),也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
接下来对电子设备100的软件系统予以说明。
电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的安卓(Android)系统为例,对电子设备100的软件系统进行示例性说明。
图2是本申请实施例提供的一种电子设备100的软件系统的框图。参见图2,分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统层,以及内核层。
应用程序层可以包括一系列应用程序包。如图2所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,即时通信,游戏应用程序,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问,这些数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。视图系统包括可视控件,比如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序的显示界面,显示界面可以由一个或多个视图组成,比如,包括显示短信通知图标的视图,包括显示文字的视图,以及包括显示图片的视图。电话管理器用于提供电子设备100的通信功能,比如通话状态的管理(包括接通,挂断等)。资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等。通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如,通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或滚动条文本形式出现在系统顶部状态栏的通知,比如后台运行的应用程序的通知。通知管理器还可以是以对话窗口形式出现在屏幕上的通知,比如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
作为一个示例,该应用程序框架层中还可以包括音频处理模块,该音频处理模块用于在确定待播放目标音频帧与上一帧播放的参考音频帧之间的能量差值,并在能量差值大于预设能量阈值的情况下,生成驱动信号,并将该驱动信号发送至内核层,该驱动信号用于驱动马达进行振动,且该驱动信号可以为驱动电压、指示马达振动频率和马达振动幅度的信号等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块,比如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(比如:OpenGL ES),2D图形引擎(比如:SGL)等。表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,比如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动、马达驱动。
作为一个示例,马达驱动用于在接收到应用程序框架层中的音频处理模块发送的驱动信号的情况下,根据该驱动信号驱动硬件层中的马达进行振动。
基于上述实施例提供的执行主体,接下来对本申请实施例提供的马达振动的控制方法进行介绍。请参考图3,图3是根据一示例性示出的一种马达振动的控制方法流程示意图,作为示例而非限定,该方法以应用于电子设备为例进行说明,该方法可以包括如下部分或者全部内容:
步骤301:确定目标应用程序当前待播放的目标音频帧和参考音频帧。
需要说明的是,目标应用程序为能够进行音频播放的应用程序。比如,该目标应用程序可以为游戏类应用程序(比如,射击类游戏应用程序)、视频类应用程序、音频类应用程序、即时通讯类应用程序等。
作为一个示例,电子设备可以在目标应用程序播放音频数据的情况下,获取待播放的至少一个音频文件,将除第一帧播放的音频帧之外的待播放的音频帧确定为目标音频帧,将在目标音频帧前播放的一帧音频帧确定为参考音频帧。
示例性地,目标应用程序为视频应用程序,如此,电子设备可以在视频应用程序播放视频或音频的情况下,确定目标音频帧和参考音频帧。目标应用程序为游戏类应用程序,如此,电子设备可以在用户通过游戏类应用程序进行游戏的过程中(在用户进行游戏的过程中,游戏类应用程序播放视频或音频),确定目标音频帧和参考音频帧。
需要说明的是,在电子设备获取到一个音频文件的情况下,参考音频帧为与目标音频帧相邻的上一帧音频帧;在电子设备获取到多个音频文件的情况下,参考音频帧与目标音频帧可能不为同一个音频文件中的音频帧,该种情况下,参考音频帧为目标音频帧前一帧播放的音频帧。也即是,参考音频帧与目标音频帧为先后播放的两帧音频帧,换句话说,参考音频帧与目标音频帧的播放顺序相邻。
步骤302:对目标音频帧和参考音频帧分别进行快速傅里叶变换。
作为一个示例,电子设备可以对目标音频帧和参考音频帧进行离散处理,该离散处理包括对目标音频帧和参考音频帧分别进行快速傅里叶变换(Fast FourierTransform,FFT)或傅里叶变换等,本申请实施例对此不作具体限制。
需要说明的是,由于参考音频帧为目标音频帧之前播放的一帧音频帧,在参考音频帧不为第一帧音频帧的情况下,参考音频帧为上一次确定的目标音频帧,那么电子设备可能已经对参考音频帧进行了快速傅里叶变换。因此,在电子设备本次确定目标音频帧后,电子设备可以对目标音频帧和参考音频帧分别进行快速傅里叶变换,当然,电子设备也可以对目标音频帧进行快速傅里叶变换,并直接使用变换后的参考音频帧,本申请实施例对此不作限制。
步骤303:对变换后的目标音频帧和变换后的参考音频帧分别进行带通滤波处理,得到目标音频帧对应的目标振动频段和参考音频帧对应的参考振动频段。
需要说明的是,带通滤波处理的滤波范围可以根据需求预先进行设置,比如,该滤波范围可以为40Hz(赫兹)-400Hz或50Hz-400Hz等。
步骤304:确定目标振动频段的目标均方根能量(Root Mean Square,RMS)值,以及确定参考振动频段的参考RMS值。
需要说明的是,RMS值也称为有效值,是信号的平方根,可以用于表征信号中的能量大小,而音频帧同样属于一种信号,因此,为了确定目标音频帧与参考音频帧之间的能量变化,电子设备可以确定目标振动频段的目标RMS值和参考振动频段的参考RMS值。
作为一个示例,电子设备可以在时域上确定目标RMS值和参考RMS值,也可以从频域上确定目标RMS值和参考RMS值。
在一些实施例中,电子设备在时域上确定目标RMS值和参考RMS值的情况下,电子设备可以确定目标振动频段所有音频采样点的幅值的平方和,得到第一数值;将第一数值与目标振动频段中的音频采样点总数相除,得到第二数值,将第二数值的平方根确定为目标RMS值。同理,电子设备可以确定参考振动频段所有幅值的平方和,得到第三数值,将第三数值与参考振动频段中的音频采样点总数相除,得到第四数值,将第四数值的平方根确定为参考RMS值。
在一些实施例中,电子设备在频域上确定目标RMS值和参考RMS值的情况下,电子设备可以确定目标振动频段的功率谱和参考振动频段的功率谱,根据目标振动频段的功率谱的形式和格式,确定目标RMS值,同理,电子设备根据参考振动频段的功率谱的形式和格式,确定参考RMS值。
需要说明的是,功率谱的形式可以包括为线性自功率谱(Autopowerlinea)、频谱(spectrum)、自功率谱(Autopower)和功率谱密度(Power Spectral Density,PSD),功率谱的格式可以包括RMS值格式和peak格式。
步骤305:确定目标RMS值与参考RMS值之间的差值的绝对值。
通常情况下,目标RMS值可以指示目标音频帧的能量大小,参考RMS值可以指示参考音频帧的能量大小。因此,电子设备可以确定目标RMS值与参考RMS值之间的差值的绝对值,以确定参考音频帧与目标音频帧之间的能量变化。
步骤306:判断该差值的绝对值是否大于预设能量阈值,若否,则执行下述步骤307的操作,若是,则执行下述步骤310的操作。
需要说明的是,该预设能量阈值可以根据需求预先进行设置,比如,该预设能量阈值可以为110hz或150hz等。
由于目标RMS值与参考RMS值之间的差值的绝对值可以指示参考音频帧与目标音频帧之间的能量变化,在该差值的绝对值大于预设能量阈值的情况下,说明目标音频帧与参考音频帧之间的能量变化较大,也即是,目标音频帧与参考音频帧所指示的场景变化较大,因此,电子设备可以执行下述步骤310的操作。而在该差值的绝对值不大于预设能量阈值,即差值的绝对值小于或等于预设能量阈值的情况下,说明目标音频帧与参考音频帧之间的能量变化不大,不需要驱动马达振动,因此,可以执行下述步骤307的操作。
步骤307:判断在开始播放目标音频帧之前马达是否已处于振动状态,若是,则执行下述步骤308的操作,若否,则返回上述步骤301的操作。
由于在开始播放目标音频帧之前马达可能已经处于振动状态,且马达振动时长太短也可能影响用户体验,因此,在马达已经处于振动状态的情况下,电子设备可以判断马达已经振动的振动时长,也即是,电子设备可以执行下述步骤308的操作。
步骤308:判断定时器的计时时长是否小于振动时长阈值;若是,则执行下述步骤310的操作;若否,则执行下述步骤309的操作。
需要说明的是,该定时器用于对马达的振动时长进行计时,该计时时长即为该马达的振动时长。
由于马达开始振动的情况下,定时器开始计时,因此,电子设备可以获取定时器的计时时长,并判断定时器的计时时长是否小于振动时长阈值。
需要说明的是,该振动时长阈值可以根据需求预先进行设置,比如,该振动时长阈值可以1秒、2秒等。
由于在定时器的计时时长小于振动时长阈值的情况下,说明上一次驱动马达振动后,马达的振动时长还较短,因此,电子设备可以执行下述步骤310的操作。或者,电子设备可以继续按照上一次确定的信号强度信息驱动马达进行振动,同时继续执行步骤308和步骤301的操作,直至马达的振动时长大于或等于振动时长阈值。
步骤309:控制定时器停止计时操作,且控制马达停止振动,并返回上述步骤301的操作。
在定时器的计时时长大于或等于振动时长阈值的情况下,说明上一次驱动马达振动后,马达已完成振动,因此,电子设备可以控制定时器停止计时操作,且控制马达停止振动,然后返回上述步骤301的操作。
步骤310:确定目标音频帧的信号强度信息。
需要说明的是,目标音频帧的信号强度信息用于指示目标音频帧的信号强度,该信号强度信息可以为目标音频帧的目标RMS值、目标音频帧的目标能量值、目标音频帧的目标平均幅值、目标音频帧对应的驱动电压或目标音频帧的目标最大幅值等。
作为一个示例,电子设备可以确定目标振动频段中每个音频采样点对应的幅值的平方和,将该平方和确定为目标音频帧的能量值。
需要说明的是,目标音频帧的目标平均幅值为目标振动频段中所有音频采样点的平均幅值,目标音频帧的目标最大幅值为目标振动频段中的最大幅值。
步骤311:按照信号强度信息驱动马达进行振动。
作为一个示例,电子设备可以将信号强度信息发送至马达驱动,马达驱动可以根据该信号强度信息驱动马达进行振动。
示例性地,信号强度信息包括目标音频帧的目标平均幅值,如此,在能量差值大于预设能量阈值的情况下,电子设备在播放目标音频帧的过程中,可以根据目标平均幅值,从目标对应关系中确定对应的目标振动频率和目标振动幅度,目标对应关系用于描述平均幅值、振动频率和振动幅度三者之间的对应关系;按照目标振动频率和目标振动幅度驱动马达进行振动。
需要说明的是,该目标平均幅值可以是在播放目标音频帧的过程中确定,也可以是在播放目标音频帧之前确定得到,本申请实施例对此不作具体限制。另外,该目标对应关系同样可以预先根据需求进行设置。该目标振动频率为马达振动时的振动频率,该目标振动幅度为马达振动时的振动幅度。
同理,在信号强度信息包括目标音频帧的目标最大幅值的情况下,可以按照上述方式从最大幅值、振动频率和振动幅度中确定目标振动频率和目标振动幅度,并按照目标振动频率和目标振动幅度驱动马达进行振动。
示例性地,信号强度信息包括目标音频帧对应的驱动电压,如此,在能量差值大于预设能量阈值的情况下,电子设备在播放目标音频帧的过程中,确定目标音频帧对应的驱动电压;按照驱动电压驱动马达进行振动。
需要说明的是,驱动电压可以为马达振动时的工作电压。
示例性地,在信号强度信息包括目标音频帧对应的目标RMS值的情况下,电子设备可以从RMS值与电压之间的对应关系中确定目标音频帧对应的驱动电压,并按照驱动电压驱动马达进行振动。或者,电子设备从RMS值、振动频率与振动幅度之间的对应关系中,确定目标振动频率和目标振动幅度,并按照目标振动频率和目标振动幅度驱动马达进行振动。
同理,在信号强度信息包括目标音频帧对应的目标能量值的情况下,电子设备可以从能量值与电压之间的对应关系中确定目标音频帧对应的驱动电压,并按照驱动电压驱动马达进行振动。或者,电子设备可以从能量值、振动频率与振动幅度之间的对应关系中,确定目标振动频率和目标振动幅度,并按照目标振动频率和目标振动幅度驱动马达进行振动。
步骤312:控制定时器开始计时操作。
在马达开始振动的情况下,电子设备可以控制定时器开始计时操作。
作为一个示例,电子设备在通过本次确定的目标音频帧的信号强度信息驱动马达振动的情况下,无论定时器是否已经发生计时(即定时器不为0),电子设备可以控制定时器清零后重新开始计时。或者,电子设备已经按照上一次确定的目标音频帧的信号强度驱动马达振动,且定时器已经进行计时,则电子设备按照本次确定的目标音频帧的信号强度信息驱动马达振动时,可以继续在定时器当前计时的基础上继续进行计时。
步骤313:判断定时器的计时时长是否大于或等于振动时长阈值,若是,执行下述步骤314的操作,若否,返回步骤313和步骤301的操作。
需要说明的是,在计时时长小于振动时长阈值的情况下,返回步骤301的操作,也即是,在马达振动过程中,电子设备可以继续判断下一帧目标音频帧播放的情况下是否驱动马达振动。
步骤314:控制定时器停止计时操作,且控制马达停止振动,并返回步骤301的操作。
需要说明的是,电子设备可以按照上述步骤301-步骤309的操作预先从至少一个音频文件中确定能够驱动马达进行振动的音频帧的位置,从而在播放该音频数据的过程中,在播放至能够驱动马达振动的音频帧的情况下,按照步骤310-步骤314的操作驱动马达进行振动。或者,电子设备可以在播放音频数据过程中,一边播放音频数据一边按照上述步骤301-步骤314的方式驱动马达进行振动,本申请实施例对此不作具体限制。
在本申请实施例中,电子设备可以确定目标音频帧与参考音频帧之间的能量差值,在能量差值大于预设能量阈值的情况下,在播放目标音频帧的过程中,可以基于目标音频帧的信号强度信息驱动马达进行振动。由于目标音频帧与参考音频帧之间的能量差值较大的情况下,说明参考音频帧与目标音频帧之间变化较大,很可能是因场景和/或音效变化较大,在播放目标音频帧的过程中,配合马达进行振动,从而增加了控制马达的场景丰富性,增强了用户使用应用程序的体验和代入感,进一步增强了用户粘度。
需要说明的是,并不是所有的应用程序均能够按照上述方式实现对马达振动的控制,在一些情况下,还可以对驱动马达的应用程序进行限定,示例性地,参见图4,图4为本申请实施例提供的另一种马达振动的控制方法流程示意图,作为示例而非限定,该方法以应用于电子设备为例进行说明,该方法可以包括如下部分或者全部内容:
步骤401:响应于对目标应用程序的启动操作,启动目标应用程序。
步骤402:判断目标应用程序是否预设有马达振动功能,若是,则执行下述步骤403的操作,如否,则执行下述步骤405的步骤。
由于在目标应用程序开发过程中,可能已经预置有马达振动功能(或者说预置有马达振动场景),该预置的马达振动功能具有针对性的振动场景,无需按照上述步骤301-步骤314的方式驱动马达进行振动,因此,电子设备可以在目标应用程序中预设有马达振动功能的情况下,执行下述步骤403的操作。
步骤403:判断目标应用程序预设的马达振动功能是否开启,若是,则执行下述步骤404的操作,若否,则执行下述步骤405的操作。
需要说明的是,马达振动功能可以称为高清(High Definition,HD)振动功能。
作为一个示例,在目标应用程序预设的马达振动功能未开启的情况下,电子设备可以执行下述步骤405的操作,也可以不做任何操作,即目标应用程序在预设的马达振动功能未开启的情况下,不会驱动马达进行振动。
步骤404:在通过目标应用程序播放音频的过程中,根据预设的马达振动功能,驱动马达进行振动。
由于目标应用程序中已经预置有一些振动场景,且目标应用程序的预设的马达振动功能已开启,该种情况下,电子设备在运行该目标应用程序过程中,当目标应用程序运行至预置的振动场景的情况下,电子设备可以控制马达进行驱动。
步骤405:判断目标应用程序的应用类型是否属于指定类型,若是,则执行下述步骤406的操作,若否,则结束本次操作。
需要说明的是,指定类型可以包括游戏类型、视频类型、音频类型、即时通讯类型中的至少一种。
步骤406:判断目标应用程序的应用标识是否位于预设白名单中,若是,则执行下述步骤407的操作,若否,则结束。
需要说明的是,预设白名单可以是在电子设备开发过程中预置的,也可以是用户在使用电子设备的过程中主动设置的,或者可以说,预设白名单在电子设备开发过程中预置,该预置的白名单允许用户在使用过程中进行编辑,比如,允许用户在预设白名单中增加应用标识,删除应用标识等。
步骤407:确定目标应用程序待播放的目标音频帧。
步骤408:确定目标音频帧与参考音频帧之间的能量差值。
步骤409:在能量差值大于预设能量阈值的情况下,在播放目标音频帧的过程中,基于目标音频帧的信号强度信息驱动电子设备的马达进行振动。
需要说明的是,步骤407的操作可以参考上述步骤301的操作,步骤408的操作可以参考上述步骤302-步骤305的操作,步骤409的操作可以参考步骤310-步骤314的操作,本申请实施例对此不再进行一一赘述。
在本申请实施例中,电子设备在完成步骤407的操作后,还可以执行上述步骤302-步骤314的操作,本申请实施例对此不作具体限制。
在本申请实施例中,通过确定目标应用程序的应用类型是否为指定类型,以及确定目标应用程序的应用标识是否位于预设白名单中,实现了对驱动马达振动的应用程序的限定,从而使得驱动马达进行更具有针对性,避免了马达的滥用。
接下来,参见图5,图5为本申请实施例提供的另一种马达振动的控制方法流程示意图,作为示例而非限定,该方法以应用于电子设备为例进行说明,该方法可以包括如下部分或者全部内容:
步骤501:确定目标应用程序待播放的目标音频帧。
需要说明的是,目标应用程序为能够进行音频播放的应用程序,示例性地,该目标应用程序可以为游戏类应用程序(比如,射击类游戏应用程序)、视频类应用程序、音频类应用程序、即时通讯类应用程序等。
作为一个示例,电子设备可以在目标应用程序播放音频的情况下,获取待播放的至少一个音频文件,将除第一帧播放的音频帧之外的待播放的音频帧确定为目标音频帧,将在目标音频帧前播放的一帧音频帧确定为参考音频帧,也即是,参考音频帧是在目标音频帧之前播放的上一帧音频帧。
需要说明的是,在电子设备获取到一个音频文件的情况下,参考音频帧为与目标音频帧相邻的上一帧音频帧,在电子设备获取到至少一个音频文件的情况下,参考音频帧与目标音频帧可能不为同一个音频文件中的音频帧,且参考音频帧为目标音频帧前一帧播放的音频帧。
由于并不是每个应用程序都需要驱动马达进行振动,因此,电子设备确定目标应用程序待播放的目标音频帧之前,还可以判断是否需要确定目标音频帧,且电子设备可以根据目标应用程序的应用类型和/或预设白名单判断是否需要确定目标音频帧。
在一种可能的实现方式中,电子设备确定目标应用程序待播放的目标音频帧之前,电子设备响应于对目标应用程序的启动操作,启动目标应用程序;确定目标应用程序的应用类型;如此,电子设备确定目标应用程序待播放的目标音频帧的操作包括:在目标应用程序的应用类型属于指定类型的情况下,确定目标音频帧,该指定类型包括游戏类型、视频类型、音频类型、即时通讯类型中的至少一种。
需要说明的是,本申请实施例中仅以列举的指定类型为例进行说明,并不对本申请实施例构成限定,示例性地,该指定类型还可以包括购物类型、短视频类型、学习类型等。
值得说明的是,通过限定驱动马达振动的应用程序的类型,从而避免了马达的滥用。
在一种可能的方式中,电子设备确定目标应用程序待播放的目标音频帧之前,电子设备响应于对目标应用程序的启动操作,启动目标应用程序;确定目标应用程序的应用标识是否已位于预设白名单中;如此,电子设备确定目标应用程序待播放的目标音频帧的操作包括:在目标应用程序的应用标识位于预设报名单的情况下,确定目标音频帧。
需要说明的是,预设白名单可以是在电子设备开发过程中预置的,也可以是用户在使用电子设备的过程中主动设置的,或者可以说,预设白名单在电子设备开发过程中预置,该预置的白名单允许用户在使用过程中进行编辑,比如,允许用户在预设白名单中增加应用标识,删除应用标识等。
在一些实施例中,为了进一步避免马达的滥用,在目标应用程序的应用类型属于指定类型的情况下,若目标应用程序的应用标识位于预设白名单中,则确定目标音频帧。
值得说明的是,电子设备可以对目标应用程序进行多重判断,从而使得驱动马达进行更具有针对性,避免了马达的滥用。
步骤502:确定目标音频帧与参考音频帧之间的能量差值。
通常情况下,在音频帧对应的声音场景变化较大的情况下,可以驱动马达进行振动,比如,参考音频帧是舒缓水流声对应的音频帧,目标音频帧是爆炸声对应的音频帧,在电子设备播放爆炸声的情况下,通常可以驱动马达进行振动,以丰富用户使用目标应用程序的代入感和体验。而由于音频帧的变化可以通过音频帧的能量变化反应,因此,电子设备可以确定目标音频帧与参考音频帧之间的能量差值。
作为一个示例,电子设备确定目标音频帧与参考音频帧之间的能量差值的操作包括:对目标音频帧和参考音频帧分别进行带通滤波处理,得到目标音频帧对应的目标振动频段和参考音频帧对应的参考振动频段;根据目标振动频段中每个音频采样点的幅值,确定目标振动频段对应的目标能量值,并根据参考振动频段中每个音频采样点的幅值,确定参考振动频段对应的参考能量值;确定目标能量值与参考能量值之间的差值的绝对值,得到能量差值。
值得说明的是,通过对目标音频帧和参考音频帧分别进行带通滤波处理,从而能够获取到后续需要的振动频段,提高了后续处理的效率。
需要说明的是,带通滤波处理的滤波范围可以根据需求预先进行设置,比如,该滤波范围可以为40Hz(赫兹)-400Hz或50Hz-400Hz等。
在一些实施例中,电子设备对目标音频帧和参考音频帧分别进行带通滤波处理之前,还可以对目标音频帧和参考音频帧分别进行离散处理,如分别对目标音频帧和参考音频帧分别进行FFT变换,得到变换后的目标音频帧和变换后的参考音频帧,然后电子设备对变换后的目标音频帧和变换后的参考音频帧分别进行带通滤波处理。
由于参考音频帧为目标音频帧之前播放的一帧音频帧,在参考音频帧不为第一帧音频帧的情况下,参考音频帧为上一次确定的目标音频帧,那么电子设备可能已经对参考音频帧进行了快速傅里叶变换。因此,在电子设备本次确定目标音频帧后,电子设备可以对目标音频帧和参考音频帧分别进行快速傅里叶变换,也可以对目标音频帧进行快速傅里叶变换,并直接使用变换后的参考音频帧,本申请实施例对此不作限制。
在一些实施例中,目标音频帧的能量值可以通过不同参数表示,比如,可以通过RMS值,RMS值也称为有效值,是信号的平方根,同理,参考音频帧的能量值也可以通过不同参数表示,比如,可以通过RMS值表示,如此,电子设备根据目标振动频段中每个音频采样点的幅值,确定目标振动频段对应的目标能量值,并根据参考振动频段中每个音频采样点的幅值,确定参考振动频段对应的参考能量值的操作包括:确定目标振动频段所有幅值(所有音频采样点的幅值)的平方和,得到第一数值;将第一数值与目标振动频段中的音频采样点总数相除,得到第二数值,将第二数值的平方根确定为目标RMS值,该目标RMS值即为目标振动频段对应的目标能量值。同理,电子设备可以确定参考振动频段所有音频采样点的幅值的平方和,得到第三数值,将第三数值与参考振动频段中的音频采样点总数相除,得到第四数值,将第四数值的平方根确定为参考RMS值,该参考RMS值即为参考振动频段对应的参考能量值。
在一些实施例中,电子设备可以按照上述方式在时域上确定目标RMS值和参考RMS值,电子设备还可以在频域上确定目标RMS值和参考RMS值,也即是,电子设备根据目标振动频段中每个音频采样点的幅值,确定目标振动频段对应的目标能量值,并根据参考振动频段中每个音频采样点的幅值,确定参考振动频段对应的参考能量值的操作包括:确定目标振动频段的功率谱和参考振动频段的功率谱,根据目标振动频段的功率谱的形式和格式,确定目标RMS值,同理,电子设备根据参考振动频段的功率谱的形式和格式,确定参考RMS值。
由于信号存在能量谱,能量谱也叫能量谱密度,能量谱密度描述了信号或时间序列的能量如何随频率分布,目标音频帧和参考音频帧均属于音频信号,因此,电子设备不仅可以按照上述方式确定指示目标能量值的目标RMS和指示参考能量值的参考RMS,电子设备还可以根据目标振动频段中每个音频采样点的幅值,通过其他方式确定目标振动频段对应的目标能量值,并根据参考振动频段中每个音频采样点的幅值,通过其他方式确定参考振动频段对应的参考能量值。
示例性地,电子设备可以根据目标振动频段中每个音频采样点的幅值,确定目标振动频段对应的目标能量谱,并根据参考振动频段中每个采样点的幅值,确定参考振动频段对应参考能量谱,对目标能量谱和参考能量谱分别在频域上进行积分处理,得到目标能量值和参考能量值。或者,电子设备可以确定目标振动频段中每个音频采样点对应的幅值的平方和,将该平方和确定为目标能量值。同理,电子设备可以确定参考振动频段中每个音频采样点对应的幅值的平方和,将该平方和确定为参考能量值。
需要说明的是,本申请实施例中,目标能量值与参考能量值均通过相同参数表示,比如,在目标能量值通过目标RMS值表示的情况下,参考能量值同样通过参考RMS值表示。
步骤503:在能量差值大于预设能量阈值的情况下,在播放目标音频帧的过程中,基于目标音频帧的信号强度信息驱动电子设备的马达进行振动。
需要说明的是,目标音频帧的信号强度信息用于指示目标音频帧的信号强度,该信号强度信息可以为目标音频帧的目标RMS值、目标音频帧的目标能量值、目标音频帧的目标平均幅值、目标音频帧对应的驱动电压或目标音频帧的目标最大幅值等。
作为一个示例,信号强度信息包括目标音频帧的目标平均幅值,如此,在能量差值大于预设能量阈值的情况下,电子设备在播放目标音频帧的过程中,确定目标音频帧的平均幅值,得到目标平均幅值;根据目标平均幅值,从目标对应关系中确定对应的目标振动频率和目标振动幅度,目标对应关系用于描述平均幅值、振动频率和振动幅度三者之间的对应关系;按照目标振动频率和目标振动幅度驱动马达进行振动。
需要说明的是,该目标平均幅值可以是在播放目标音频帧的过程中确定,也可以是在播放目标音频帧之前确定得到,本申请实施例对此不作具体限制。另外,该目标对应关系同样可以预先根据需求进行设置。该目标振动频率为马达振动时的振动频率,该目标振动幅度为马达振动时的振动幅度。
值得说明的是,通过设置目标对应关系,可以快速确定驱动马达振动的目标振动频率和目标振动幅度,从而提高了驱动马达进行振动的效率。
作为一个示例,信号强度信息包括目标音频帧对应的驱动电压,在能量差值大于预设能量阈值的情况下,电子设备在播放目标音频帧的过程中,确定目标音频帧对应的驱动电压;按照驱动电压驱动马达进行振动。
需要说明的是,驱动电压可以为马达振动时的工作电压。
值得说明的是,通过驱动电压驱动马达进行振动,使得驱动马达的操作更加便捷。
示例性地,在信号强度信息包括目标音频帧对应的目标RMS值的情况下,电子设备可以从RMS值与电压之间的对应关系中确定目标音频帧对应的驱动电压,并按照驱动电压驱动马达进行振动。或者,电子设备从RMS值、振动频率与振动幅度之间的对应关系中,确定目标振动频率和目标振动幅度,并按照目标振动频率和目标振动幅度驱动马达进行振动。
同理,在信号强度信息包括目标音频帧对应的目标能量值的情况下,电子设备可以从能量值与电压之间的对应关系中确定目标音频帧对应的驱动电压,并按照驱动电压驱动马达进行振动。或者,电子设备可以从能量值、振动频率与振动幅度之间的对应关系中,确定目标振动频率和目标振动幅度,并按照目标振动频率和目标振动幅度驱动马达进行振动。
在一些实施例中,电子设备可以在开始播放目标音频帧的情况下,立刻驱动马达进行振动,也可以在播放目标音频帧中途驱动马达进行振动,本申请实施例对此不作具体限制。
在一些实施例中,电子设备在驱动马达振动的情况下,还可以确定马达振动的振动时长,示例性地,电子设备可以确定振动时长,该振动时长为基于目标音频帧的信号强度信息驱动马达开始振动后进行计时所得到的时长;在振动时长达到振动时长阈值的情况下,控制马达停止振动。
需要说明的是,该振动时长阈值可以根据需求预先进行设置,比如,该振动时长阈值可以1秒、2秒等。振动时长达到振动时长阈值的情况包括振动时长大于或等于振动时长阈值的情况。
值得说明的是,通过确定马达的振动时长,避免了马达长时间振动,从而避免了马达的滥用。
作为一个示例,电子设备可以通过定时器确定振动时长,也即是,在电子设备驱动马达开始振动的情况下,电子设备可以启动定时器进行计时,并获取定时器的计时时长,获取的计时时长即为振动时长。
作为一个示例,电子设备在通过本次确定的目标音频帧的信号强度信息驱动马达振动的情况下,无论定时器是否已经发生计时(即定时器不为0),电子设备可以控制定时器清零后重新开始计时。或者,电子设备已经按照上一次确定的目标音频帧的信号强度驱动马达振动,且定时器已经进行计时,则电子设备按照本次确定的目标音频帧的信号强度信息驱动马达振动时,可以继续在定时器当前计时的基础上继续进行计时。
作为一个示例,在振动时长小于振动时长阈值的情况下,电子设备可以返回步骤501的操作,并继续控制马达进行振动,直至振动时长达到振动时长阈值。
在一些实施例中,电子设备确定的能量差值也可能会小于或等于预设能量阈值,该种情况下,电子设备可以根据马达的状态来选择所执行的操作,该马达的状态包括马达是否处于振动状态,以及马达处于振动状态情况下,已振动的时长等。
示例性地,在能量差值小于或等于预设能量阈值的情况下,若在开始播放目标音频帧之前马达已处于振动状态且马达的振动时长小于振动时长阈值,则在播放目标音频帧的过程中,基于目标音频帧的信号强度信息驱动马达进行振动;在能量差值小于或等于预设能量阈值的情况下,若在开始播放目标音频帧之前马达已处于振动状态且马达的振动时长大于或等于振动时长阈值,则控制马达停止振动。在能量差值小于或等于预设能量阈值的情况下,若在开始播放目标音频之前马达未处于振动状态,则电子设备不会对马达进行控制,且电子设备可以返回上述步骤501的操作。
由于在开始播放目标音频帧之前马达可能已经处于振动状态,且马达振动时长太短也可能影响用户体验,因此,在马达已经处于振动状态的情况下,电子设备可以判断马达已经振动的时长,并在马达的振动时长大于或等于振动时长阈值,则控制马达停止振动。
值得说明的是,在能量差值小于或等于预设能量阈值的情况下,通过确定在开始播放目标音频帧之前马达的振动状态,从而更能准确地控制马达的振动,提高了马达振动的准确性。
在一些实施例中,在马达振动的情况下,响应于对目标应用程序的中断运行操作,电子设备中断对目标应用程序的运行,并控制马达停止振动。
示例性地,在目标应用程序关闭的情况下,电子设备可以关闭目标应用程序,并控制马达停止振动。或者,在通信应用程序接入通话的情况下,电子设备可以暂停目标应用程序的运行,并控制马达停止振动。
在一些实施例中,在马达振动的情况下,响应于对马达振动功能的关闭操作,电子设备控制马达停止振动。
值得说明的是,在播放目标音频帧的过程中,通过驱动马达进行振动,从而增强了用户使用应用程序的体验和代入感。示例性地,在跳跃类游戏应用程序中,用户点击电子设备所显示的跳跃按钮的情况下,电子设备通过振动马达模拟跳跃后落地的触感,提升了游戏代入感。在用户通过视频类应用程序播放电影(视频)的情况下,电子设备可以自适应驱动马达进行振动,以模拟爆炸、轰鸣等电影音效,丰富了用户的视听体验。
在本申请实施例中,电子设备可以确定目标音频帧与参考音频帧之间的能量差值,在能量差值大于预设能量阈值的情况下,在播放目标音频帧的过程中,可以基于目标音频帧的信号强度信息驱动马达进行振动。由于目标音频帧与参考音频帧之间的能量差值较大的情况下,说明参考音频帧与目标音频帧之间变化较大,很可能是因场景和/或音效变化较大,在播放目标音频帧的过程中,配合马达进行振动,从而增加了控制马达的场景丰富性,增强了用户使用应用程序的体验和代入感,进一步增强了用户粘度。
图6是本申请实施例提供的一种马达振动的控制装置的结构示意图,该装置可以由软件、硬件或者两者的结合实现成为电子设备的部分或者全部,该电子设备可以为图1所示的电子设备。参见图6,该装置包括:第一确定模块601、第二确定模块602和第一驱动模块603。
第一确定模块601,用于确定目标应用程序待播放的目标音频帧,所述目标应用程序为能够进行音频播放的应用程序;
第二确定模块602,用于确定所述目标音频帧与参考音频帧之间的能量差值,所述参考音频帧是在所述目标音频帧之前播放的上一帧音频帧;
第一驱动模块603,用于在所述能量差值大于预设能量阈值的情况下,在播放所述目标音频帧的过程中,基于所述目标音频帧的信号强度信息驱动所述电子设备的马达进行振动,所述信号强度信息用于指示所述目标音频帧的信号强度。
作为本申请的一个示例,所述第二确定模块602用于:
对所述目标音频帧和所述参考音频帧分别进行带通滤波处理,得到所述目标音频帧对应的目标振动频段和所述参考音频帧对应的参考振动频段;
根据所述目标振动频段中每个音频采样点的幅值,确定所述目标振动频段对应的目标能量值,并根据所述参考振动频段中每个音频采样点的幅值,确定所述参考振动频段对应的参考能量值;
确定所述目标能量值与所述参考能量值之间的差值的绝对值,得到所述能量差值。
作为本申请的一个示例,所述信号强度信息包括所述目标音频帧的目标平均幅值;
所述第一驱动模块603用于:
在所述能量差值大于所述预设能量阈值的情况下,在播放所述目标音频帧的过程中,确定所述目标音频帧的平均幅值,得到所述目标平均幅值;
根据所述目标平均幅值,从目标对应关系中确定对应的目标振动频率和目标振动幅度,所述目标对应关系用于描述平均幅值、振动频率和振动幅度三者之间的对应关系;
按照所述目标振动频率和所述目标振动幅度驱动所述马达进行振动。
作为本申请的一个示例,所述信号强度信息包括所述目标音频帧对应的驱动电压;
所述第一驱动模块603用于:
在所述能量差值大于所述预设能量阈值的情况下,在播放所述目标音频帧的过程中,确定所述目标音频帧对应的驱动电压;
按照所述驱动电压驱动所述马达进行振动。
作为本申请的一个示例,所述装置还包括:
第二驱动模块,用于在所述能量差值小于或等于所述预设能量阈值的情况下,若在开始播放所述目标音频帧之前所述马达已处于振动状态且所述马达的振动时长小于振动时长阈值,则在播放所述目标音频帧的过程中,基于所述目标音频帧的信号强度信息驱动所述马达进行振动;
第一控制模块,用于在所述能量差值小于或等于所述预设能量阈值的情况下,若在开始播放所述目标音频帧之前所述马达已处于振动状态且所述马达的振动时长大于或等于所述振动时长阈值,则控制所述马达停止振动。
作为本申请的一个示例,所述装置还包括:
第三确定模块,用于确定振动时长,所述振动时长为基于所述目标音频帧的信号强度信息驱动所述马达开始振动后进行计时所得到的时长;
第二控制模块,用于在所述振动时长达到振动时长阈值的情况下,控制所述马达停止振动。
作为本申请的一个示例,所述装置还包括:
启动模块,用于响应于对所述目标应用程序的启动操作,启动所述目标应用程序;
第四确定模块,用于确定所述目标应用程序的应用类型;
所述第一确定模块601用于:
在所述目标应用程序的应用类型属于指定类型的情况下,确定所述目标音频帧,所述指定类型包括游戏类型、视频类型、音频类型、即时通讯类型中的至少一种。
作为本申请的一个示例,所述第一确定模块601用于:
在所述目标应用程序的应用类型属于所述指定类型的情况下,若所述目标应用程序的应用标识位于预设白名单中,则确定所述目标音频帧。
在本申请实施例中,电子设备可以确定目标音频帧与参考音频帧之间的能量差值,在能量差值大于预设能量阈值的情况下,在播放目标音频帧的过程中,可以基于目标音频帧的信号强度信息驱动马达进行振动。由于目标音频帧与参考音频帧之间的能量差值较大的情况下,说明参考音频帧与目标音频帧之间变化较大,很可能是因场景和/或音效变化较大,在播放目标音频帧的过程中,配合马达进行振动,从而增加了控制马达的场景丰富性,增强了用户使用应用程序的体验和代入感,进一步增强了用户粘度。
需要说明的是:上述实施例提供的马达振动的控制装置在控制马达振动时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
上述实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请实施例的保护范围。
上述实施例提供的马达振动的控制装置与马达振动的控制方法实施例属于同一构思,上述实施例中单元、模块的具体工作过程及带来的技术效果,可参见方法实施例部分,此处不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络或其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,比如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(比如:同轴电缆、光纤、数据用户线(Digital Subscriber Line,DSL))或无线(比如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质,或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(比如:软盘、硬盘、磁带)、光介质(比如:数字通用光盘(Digital Versatile Disc,DVD))或半导体介质(比如:固态硬盘(Solid State Disk,SSD))等。
以上所述为本申请提供的可选实施例,并不用以限制本申请,凡在本申请的揭露的技术范围之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (9)
1.一种马达振动的控制方法,其特征在于,应用于电子设备中,所述方法包括:
确定目标应用程序待播放的目标音频帧,所述目标应用程序为能够进行音频播放的应用程序;
确定所述目标音频帧与参考音频帧之间的能量差值,所述参考音频帧是在所述目标音频帧之前播放的上一帧音频帧;
在所述能量差值大于预设能量阈值的情况下,在播放所述目标音频帧的过程中,基于所述目标音频帧的信号强度信息驱动所述电子设备的马达进行振动,所述信号强度信息用于指示所述目标音频帧的信号强度;
在所述能量差值小于或等于所述预设能量阈值的情况下,若在开始播放所述目标音频帧之前所述马达已处于振动状态且所述马达的振动时长小于振动时长阈值,则在播放所述目标音频帧的过程中,基于所述目标音频帧的信号强度信息驱动所述马达进行振动;
在所述能量差值小于或等于所述预设能量阈值的情况下,若在开始播放所述目标音频帧之前所述马达已处于振动状态且所述马达的振动时长大于或等于所述振动时长阈值,则控制所述马达停止振动。
2.如权利要求1所述的方法,其特征在于,所述确定所述目标音频帧与参考音频帧之间的能量差值,包括:
对所述目标音频帧和所述参考音频帧分别进行带通滤波处理,得到所述目标音频帧对应的目标振动频段和所述参考音频帧对应的参考振动频段;
根据所述目标振动频段中每个音频采样点的幅值,确定所述目标振动频段对应的目标能量值,并根据所述参考振动频段中每个音频采样点的幅值,确定所述参考振动频段对应的参考能量值;
确定所述目标能量值与所述参考能量值之间的差值的绝对值,得到所述能量差值。
3.如权利要求1或2所述的方法,其特征在于,所述信号强度信息包括所述目标音频帧的目标平均幅值;
所述在所述能量差值大于预设能量阈值的情况下,在播放所述目标音频帧的过程中,基于所述目标音频帧的信号强度信息驱动所述电子设备的马达进行振动,包括:
在所述能量差值大于所述预设能量阈值的情况下,在播放所述目标音频帧的过程中,确定所述目标音频帧的平均幅值,得到所述目标平均幅值;
根据所述目标平均幅值,从目标对应关系中确定对应的目标振动频率和目标振动幅度,所述目标对应关系用于描述平均幅值、振动频率和振动幅度三者之间的对应关系;
按照所述目标振动频率和所述目标振动幅度驱动所述马达进行振动。
4.如权利要求1或2所述的方法,其特征在于,所述信号强度信息包括所述目标音频帧对应的驱动电压;
所述在所述能量差值大于预设能量阈值的情况下,在播放所述目标音频帧的过程中,基于所述目标音频帧的信号强度信息驱动所述电子设备的马达进行振动,包括:
在所述能量差值大于所述预设能量阈值的情况下,在播放所述目标音频帧的过程中,确定所述目标音频帧对应的驱动电压;
按照所述驱动电压驱动所述马达进行振动。
5.如权利要求1或2所述的方法,其特征在于,所述在所述能量差值大于预设能量阈值的情况下,在播放所述目标音频帧的过程中,基于所述目标音频帧的信号强度信息驱动所述电子设备的马达进行振动之后,还包括:
确定振动时长,所述振动时长为基于所述目标音频帧的信号强度信息驱动所述马达开始振动后进行计时所得到的时长;
在所述振动时长达到振动时长阈值的情况下,控制所述马达停止振动。
6.如权利要求1或2所述的方法,其特征在于,所述确定目标应用程序待播放的目标音频帧之前,包括:
响应于对所述目标应用程序的启动操作,启动所述目标应用程序;
确定所述目标应用程序的应用类型;
所述确定目标应用程序待播放的目标音频帧,包括:
在所述目标应用程序的应用类型属于指定类型的情况下,确定所述目标音频帧,所述指定类型包括游戏类型、视频类型、音频类型、即时通讯类型中的至少一种。
7.如权利要求6所述的方法,其特征在于,所述在所述目标应用程序的应用类型属于指定类型的情况下,确定所述目标音频帧,包括:
在所述目标应用程序的应用类型属于所述指定类型的情况下,若所述目标应用程序的应用标识位于预设白名单中,则确定所述目标音频帧。
8.一种电子设备,其特征在于,所述电子设备的结构中包括处理器和存储器;
所述存储器用于存储支持所述电子设备执行如权利要求1-7任意一项所述的方法的程序。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如权利要求1-7任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311112087.7A CN116827205B (zh) | 2023-08-31 | 2023-08-31 | 马达振动的控制方法、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311112087.7A CN116827205B (zh) | 2023-08-31 | 2023-08-31 | 马达振动的控制方法、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116827205A CN116827205A (zh) | 2023-09-29 |
CN116827205B true CN116827205B (zh) | 2023-12-15 |
Family
ID=88127838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311112087.7A Active CN116827205B (zh) | 2023-08-31 | 2023-08-31 | 马达振动的控制方法、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116827205B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109821246A (zh) * | 2019-02-15 | 2019-05-31 | 上海艾为电子技术股份有限公司 | 马达振动方法及装置、存储介质及电子设备 |
CN112269895A (zh) * | 2020-11-06 | 2021-01-26 | Oppo广东移动通信有限公司 | 一种振动控制方法、装置及计算机可读存储介质 |
CN113975809A (zh) * | 2021-10-08 | 2022-01-28 | 上海艾为电子技术股份有限公司 | 音频场景的识别、马达驱动方法和系统、电子设备 |
CN114299991A (zh) * | 2021-11-25 | 2022-04-08 | 歌尔股份有限公司 | 基于音频信号的振动生成方法、装置、设备及存储介质 |
CN114327040A (zh) * | 2021-11-25 | 2022-04-12 | 歌尔股份有限公司 | 振动信号生成方法、装置、电子设备及存储介质 |
CN114870396A (zh) * | 2022-03-22 | 2022-08-09 | 上海艾为电子技术股份有限公司 | 马达驱动方法和系统、电子设备 |
CN116052723A (zh) * | 2023-01-20 | 2023-05-02 | 上海艾为电子技术股份有限公司 | 音乐节奏检测方法、装置及电子设备 |
CN116112847A (zh) * | 2023-02-27 | 2023-05-12 | 上海艾为电子技术股份有限公司 | 音频处理方法、电子设备及介质 |
-
2023
- 2023-08-31 CN CN202311112087.7A patent/CN116827205B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109821246A (zh) * | 2019-02-15 | 2019-05-31 | 上海艾为电子技术股份有限公司 | 马达振动方法及装置、存储介质及电子设备 |
CN112269895A (zh) * | 2020-11-06 | 2021-01-26 | Oppo广东移动通信有限公司 | 一种振动控制方法、装置及计算机可读存储介质 |
CN113975809A (zh) * | 2021-10-08 | 2022-01-28 | 上海艾为电子技术股份有限公司 | 音频场景的识别、马达驱动方法和系统、电子设备 |
CN114299991A (zh) * | 2021-11-25 | 2022-04-08 | 歌尔股份有限公司 | 基于音频信号的振动生成方法、装置、设备及存储介质 |
CN114327040A (zh) * | 2021-11-25 | 2022-04-12 | 歌尔股份有限公司 | 振动信号生成方法、装置、电子设备及存储介质 |
CN114870396A (zh) * | 2022-03-22 | 2022-08-09 | 上海艾为电子技术股份有限公司 | 马达驱动方法和系统、电子设备 |
CN116052723A (zh) * | 2023-01-20 | 2023-05-02 | 上海艾为电子技术股份有限公司 | 音乐节奏检测方法、装置及电子设备 |
CN116112847A (zh) * | 2023-02-27 | 2023-05-12 | 上海艾为电子技术股份有限公司 | 音频处理方法、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116827205A (zh) | 2023-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110910872B (zh) | 语音交互方法及装置 | |
RU2766255C1 (ru) | Способ голосового управления и электронное устройство | |
CN111724775B (zh) | 一种语音交互方法及电子设备 | |
CN111819533B (zh) | 一种触发电子设备执行功能的方法及电子设备 | |
WO2022143258A1 (zh) | 一种语音交互处理方法及相关装置 | |
CN116070035A (zh) | 数据处理方法和电子设备 | |
WO2020062014A1 (zh) | 一种向输入框中输入信息的方法及电子设备 | |
CN116827205B (zh) | 马达振动的控制方法、电子设备及可读存储介质 | |
CN113380240B (zh) | 语音交互方法和电子设备 | |
WO2022033355A1 (zh) | 一种邮件处理方法及电子设备 | |
US20230251714A1 (en) | Vibration method and apparatus, electronic device, and readable storage medium | |
CN114828098B (zh) | 数据传输方法和电子设备 | |
CN113805771A (zh) | 一种通知提醒方法、终端设备及计算机可读存储介质 | |
CN116700813B (zh) | 微件的加载方法、电子设备及可读存储介质 | |
CN114817521B (zh) | 搜索方法和电子设备 | |
CN112416984B (zh) | 一种数据处理方法及其装置 | |
WO2024113999A1 (zh) | 游戏管理的方法及终端设备 | |
CN116709339A (zh) | 一种应用通知消息的检测方法及电子设备 | |
CN116301905A (zh) | 数据处理方法以及相关设备 | |
CN116668997A (zh) | 定位方法、用户界面及电子设备 | |
CN117133281A (zh) | 语音识别方法和电子设备 | |
CN117952579A (zh) | 一种信息获取方法及移动终端 | |
CN117972134A (zh) | 音色推荐方法、电子设备和计算机存储介质 | |
JP2022527581A (ja) | 運動軌跡記録方法及び関連デバイス | |
CN117707561A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |