CN109821246B - 马达振动方法及装置、存储介质及电子设备 - Google Patents
马达振动方法及装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN109821246B CN109821246B CN201910117014.4A CN201910117014A CN109821246B CN 109821246 B CN109821246 B CN 109821246B CN 201910117014 A CN201910117014 A CN 201910117014A CN 109821246 B CN109821246 B CN 109821246B
- Authority
- CN
- China
- Prior art keywords
- data frame
- target
- vibration
- target data
- 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
Images
Abstract
本发明提供了一种马达振动方法及装置、存储介质及电子设备,该方法包括:当接收到触发指令时,获取目标音频文件;确定所述目标音频文件中的各个振动特征点;依据每个所述振动特征点对应的振动能量值,确定每个所述振动特征点对应的振动等级;播放所述目标音频文件,并在播放至所述目标音频文件中的每个振动特征点时,依据该振动特征点对应的振动等级驱动马达进行振动。应用本发明提供的马达振动方法,使马达能够随着目标音频文件中的振动特征点,产生与振动特征点对应的振动等级的振动,满足用户对于射击振动的反馈需求,提升射击类游戏的乐趣。
Description
技术领域
本发明涉及马达控制领域,尤其涉及一种马达振动方法及装置、存储介质及电子设备。
背景技术
随着科学技术的快速发展,手机等移动终端的功能已经越来越多,越来越强大。手机游戏也远远不是人们印象中的“俄罗斯方块”或者是“贪吃蛇”之类画面简单,规则简单的游戏,而是发展到了可以和掌上游戏机相媲美,具有很强的娱乐性和交互性的复杂形态。其中,射击类的游戏,玩家可以通过控制人物移动和射击,来与其他玩家进行竞技。
发明人通过对现有的射击游戏的玩法进行研究发现,现有的射击游戏中,玩家在控制人物进行射击时,仅能从扬声器播出的游戏声音中获得一定的游戏反馈,不能满足用户对于射击振动的反馈需求。
发明内容
本发明所要解决的技术问题是提供一种马达振动方法,在播放目标音频文件过程中,驱动马达伴随着目标音频中的振动特征点对应的振动等级进行振动,满足用户对于射击振动的反馈需求。
本发明还提供了一种马达振动装置,用于保证上述方法在实际中的实现及应用。
一种马达振动方法,包括:
当接收到触发指令时,获取目标音频文件;
确定所述目标音频文件中的各个振动特征点;
依据每个所述振动特征点对应的振动能量值,确定每个所述振动特征点对应的振动等级;
播放所述目标音频文件,并在播放至所述目标音频文件中的每个振动特征点时,依据该振动特征点对应的振动等级驱动马达进行振动。
上述的方法,可选的,所述确定所述目标音频文件中的各个振动特征点,包括:
获取所述目标音频文件对应的音频数据流;
按预设的分帧方式,将所述音频数据流划分为多个音频数据帧;
对每个所述音频数据帧进行低通滤波操作,获得与每个所述音频数据帧对应的低通数据;
计算每个所述音频数据帧所对应低通数据的平均能量值;
依据每个所述音频数据帧所对应低通数据的平均能量值,按预设的判断方式,判断该音频数据帧是否需要进行振动,若该音频数据帧需要进行振动,则将该音频数据帧作为所述目标音频文件的振动特征点,并将所述平均能量值作为所述振动特征点的振动能量值。
上述的方法,可选的,所述获取所述目标音频文件对应的音频数据流,包括:
解码所述目标音频文件;
依据预设的采样方式,对经过解码的所述目标音频文件进行采样,获得与所述目标音频文件对应的音频数据流。
上述的方法,可选的,所述依据每个所述音频数据帧所对应低通数据的平均能量值,按预设的判断方式,判断该音频数据帧是否需要进行振动,包括:
将所述音频数据流中的首个音频数据帧确定为第一目标数据帧,并执行第一操作,所述第一操作包括:
判断所述第一目标数据帧所对应低通数据的平均能量值是否大于预设的触发阈值,如果所述第一目标数据帧所对应低通数据的平均能量值大于所述预设的触发阈值,判定所述第一目标数据帧需要进行振动,并启动预先创建的计数器进行初始计数;
将与所述第一目标数据帧相邻的音频数据帧确定为第二目标数据帧,判断所述第二目标数据帧所对应低通数据的平均能量值是否小于所述预设的释放阈值,如果所述第二目标数据帧所对应低通数据的平均能量值不小于预设的释放阈值,判定所述第二目标数据帧需要进行振动,并对所述计数器的计数加一;
将所述第二目标数据帧的下一音频数据帧确定为第三目标数据帧,判断所述第三目标数据帧所对应低通数据的平均能量值是否小于所述预设的释放阈值,如果所述第三目标数据帧所对应低通数据的平均能量值不小于所述预设的释放阈值,判定所述第三目标数据帧不需要进行振动,并对所述计数器的计数加一,并判断所述计数器当前的计数结果是否大于预设的计数数值,若所述计数器当前的计数结果不大于所述预设的计数数值,则将所述第三目标数据帧的下一音频数据帧确定为新的第三目标数据帧,对所述新的第三目标数据帧重复执行上述对所述第三目标数据帧的判断过程,直至所述计数器的计数结果大于所述预设的计数数值时,将所述新的第三目标数据帧的下一音频数据帧确定为新的第一目标数据帧,并对所述新的第一目标数据帧执行所述第一操作,直至判断至所述音频数据流中的最后一个音频数据帧。
上述的方法,可选的,还包括:
如果所述第二目标数据帧所对应低通数据的平均能量值小于所述预设的释放阈值,判定所述第二目标数据帧不需要振动,并将所述计数器的计数清零,以及将所述第二目标数据帧的下一音频数据帧确定为新的第一目标数据帧,并对确定的新的第一目标数据帧执行所述第一操作;
如果所述第三目标数据帧所对应低通数据的平均能量小于所述预设的释放阈值,或所述计数器当前的计数结果大于所述预设的计数数值,判定所述第三目标数据帧不需要振动,并将所述计数器的计数清零,以及将当前所述第三目标数据帧的下一音频数据帧确定为新的第一目标数据帧,对确定的新的第一目标数据帧执行所述第一操作。
上述的方法,可选的,还包括:
如果所述第一目标数据帧所对应低通数据的平均能量值不大于所述预设的触发阈值,则判定所述第一目标数据帧不需要振动,并在所述音频数据流中,将所述第一目标数据帧之后的首个音频数据帧确定为新的第一目标数据帧,并对确定的新的第一目标数据帧执行所述第一操作。
上述的方法,可选的,所述播放所述目标音频文件,并在播放至所述目标音频文件中的每个振动特征点时,依据该振动特征点对应的振动等级驱动马达进行振动,包括:
依据各个振动特征点及每个所述振动特征点对应的振动等级生成芯片控制指令;
将所述芯片控制指令发送至马达的驱动芯片,驱动马达在所述目标音频文件的播放过程中,在播放至所述目标音频文件中的每个振动特征点时,依据该振动特征点对应的振动等级进行振动。
一种马达振动装置,包括:
获取单元,用于当接收到触发指令时,获取目标音频文件;
确定单元,用于确定所述目标音频文件中的各个振动特征点,依据每个所述振动特征点对应的振动能量值,确定每个所述振动特征点对应的振动等级;
驱动单元,用于播放所述目标音频文件,并在播放至所述目标音频文件中的每个振动特征点时,依据该振动特征点对应的振动等级驱动马达进行振动。
一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述的马达振动方法。
一种电子设备,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行上述的马达振动方法。
与现有技术相比,本发明包括以下优点:
本发明提供了一种马达振动方法,包括:当接收到触发指令时,获取目标音频文件;确定所述目标音频文件中的各个振动特征点;依据每个所述振动特征点对应的振动能量值,确定每个所述振动特征点对应的振动等级;播放所述目标音频文件,并在播放至所述目标音频文件中的每个振动特征点时,依据该振动特征点对应的振动等级驱动马达进行振动。本发明提供的马达振动方法,在获取到目标音频文件时,能够自动识别出目标音频文件中的各个振动特征点以及,与每个振动特征点对应的振动级别,在播放至目标音频文件中的每个振动特征点时,依据该振动特征点对应的振动等级驱动马达进行振动。应用本发明提供的马达振动方法,使马达能够随着目标音频文件中的振动特征点,产生与振动特征点对应的振动等级的振动,满足用户对于射击振动的反馈需求,提升射击类游戏的乐趣。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明提供的一种马达振动方法的方法流程图;
图2为本发明提供的一种马达振动方法的又一方法流程图;
图3为本发明提供的一种马达振动方法的示例图;
图4为本发明提供的一种马达振动装置的结构示意图;
图5为本发明提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种马达振动方法,该方法可以应用在多种系统平台,其执行主体可以为手持终端设备的处理器,所述马达振动方法的流程图如图1所示,具体包括:
S101:当接收到触发指令时,获取目标音频文件;
本发明实施例提供的方法中,当用户点击射击类游戏中的射击控件时,处理器捕获与点击射击控件对应的触发指令,并获取当前环境下与触发指令对应的目标音频文件。
S102:确定所述目标音频文件中的各个振动特征点;
本发明实施例提供的方法中,依据所述目标音频文件,通过预设振动特征点识别算法提取所述目标音频文件中的各个振动特征点。
S103:依据每个所述振动特征点对应的振动能量值,确定每个所述振动特征点对应的振动等级;
本发明实施例提供的方法中,每个振动特征点都有对应的振动能量值,当确定为目标音频文件中的振动特征点时,基于振动特征点对应的振动能量值,确定每个振动特征点对应的振动等级。
S104:播放所述目标音频文件,并在播放至所述目标音频文件中的每个振动特征点时,依据该振动特征点对应的振动等级驱动马达进行振动。
本发明实施例提供的方法中,将所述目标音频文件传输至音频功放,并驱动扬声器播放所述目标音频,同时,依据各个振动特征点,以及与每个振动特征点对应的振动等级驱动马达振动,以使所述马达在方法至所述目标音频文件中的每个振动特征点时,产生与该振动特征点对应的振动等级相应的振动。
本发明实施例提供马达振动方法,当用户点击射击类游戏中的射击控件时,处理器捕获与点击射击控件对应的触发指令,并获取当前环境下与触发指令对应的目标音频文件,依据所述目标音频文件,通过预设振动特征点识别算法提取所述目标音频文件中的各个振动特征点,每个振动特征点都有对应的振动能量值,当确定为目标音频文件中的振动特征点时,基于振动特征点对应的振动能量值,确定每个振动特征点对应的振动等级,将所述目标音频文件传输至音频功放,并驱动扬声器播放所述目标音频,同时,依据各个振动特征点,以及与每个振动特征点对应的振动等级驱动马达振动,以使所述马达在方法至所述目标音频文件中的每个振动特征点时,产生与该振动特征点对应的振动等级相应的振动。应用本发明提供的马达振动方法,使马达能够随着目标音频文件中的振动特征点,产生与振动特征点对应的振动等级的振动,满足用户对于射击振动的反馈需求,提升射击类游戏的乐趣。
本发明实施例提供的马达振动方法中所述确定所述目标音频文件中的各个振动特征点,如图2所示,具体可以包括:
S201:获取所述目标音频文件对应的音频数据流;
本发明实施例提供的方法中,所述获取所述目标音频文件对应的音频数据流,可以包括:
解码所述目标音频文件;
依据预设的采样方式,对经过解码的所述目标音频文件进行采样,获得与所述目标音频文件对应的音频数据流。
本发明实施例提供的方法中,当接收到射击类游戏中的触发指令时,从系统中获取当前环境下的目标音频文件,所述目标音频文件可以是各种格式的音频文件,如CD格式、WAVE(*.WAV)、AIFF、AU、MP3、MIDI、WMA等格式,将目标音频文件进行解码,并对已解码的音频文件按照预设采样方式进行采样,得到与所述音频文件对应的音频数据流,可选的,预设采样方式可以为48K采样率,16bit采样深度。
S202:按预设的分帧方式,将所述音频数据流划分为多个音频数据帧;
本发明实施例提供的方法中,对音频数据流按照预设的分帧方式,进行分帧处理,将音频数据流划分为多个音频数据帧,所述分帧方式可以为,将音频数据流划分为每N个数据为一帧,最后不足N个的,在数据帧结尾进行补0处理,优选的,N取1024。
S203:对每个所述音频数据帧进行低通滤波操作,获得与每个所述音频数据帧对应的低通数据;
本发明实施例提供的方法中,因为射击类游戏中所产生的射击声的主要频点在60Hz到200Hz之间,优选的,本发明选取截止频率为225Hz的低通滤波器,对每个音频数据帧进行滤波处理,滤除掉频率高于截止频率的绝大部分的人声和背景音乐,获得每个音频数据帧的低通数据。
可选的,所述射击声可以是手枪枪声。
S204:计算每个所述音频数据帧所对应低通数据的平均能量值;
本发明实施例提供的方法中,对低通后的每帧数据取绝对值,并求和为SUM(n)(n=0,1,2,3…),依据求和后的数据计算平均能量值AVE(n)(n=0,1,2,3…),平均能量值的计算公式为AVE(n)=SUM(n)/1024。
S205:依据每个所述音频数据帧所对应低通数据的平均能量值,按预设的判断方式,判断该音频数据帧是否需要进行振动,若该音频数据帧需要进行振动,则将该音频数据帧作为所述目标音频文件的振动特征点,并将所述平均能量值作为所述振动特征点的振动能量值。
本发明实施例提供的方法中,依据每个音频数据帧的低通数据的平均能量值,通过预设的判断方式,判断目标音频文件中的每帧音频数据帧是否需要振动,以确定目标音频文件中的振动特征点;当音频数据帧需要振动时,表征该音频数据帧为目标音频文件的振动特征点,并将该音频数据帧对应的平均能量值作为振动特征点的振动能量值。
本发明实施例提供的马达振动方法,当接收到射击类游戏中的触发指令时,从系统中获取当前环境下的目标音频文件,所述目标音频文件可以是各种格式的音频文件,将目标音频文件进行解码,并对已解码的音频文件按照预设采样方式进行采样,得到与所述音频文件对应的音频数据流,可选的,预设采样方式可以为48K采样率,16bit采样深度,对音频数据流按照预设的分帧方式,进行分帧处理,将音频数据流划分为多个音频数据帧,所述分帧方式可以为,将音频数据流划分为每N个数据为一帧,最后不足N个的,在数据帧结尾进行补0处理,优选的,N取1024,优选的,本发明选取截止频率为225Hz的低通滤波器,对每个音频数据帧进行滤波处理,滤除掉频率高于截止频率的绝大部分的人声和背景音乐,获得每个音频数据帧的低通数据,依据每个音频数据帧的低通数据的平均能量值,通过预设的判断方式,确定目标音频文件中音频数据帧是否为振动特征点;当音频数据帧需要振动时,表征该音频数据帧为目标音频文件的振动特征点,并将该音频数据帧对应的平均能量值作为振动特征点的振动能量值。
本发明实施例提供的马达振动方法中,所述依据每个所述音频数据帧所对应低通数据的平均能量值,按预设的判断方式,判断该音频数据帧是否需要进行振动,具体可以包括:
将所述音频数据流中的首个音频数据帧确定为第一目标数据帧,并执行第一操作,所述第一操作包括:
判断所述第一目标数据帧所对应低通数据的平均能量值是否大于预设的触发阈值,如果所述第一目标数据帧所对应低通数据的平均能量值大于所述预设的触发阈值,判定所述第一目标数据帧需要进行振动,并启动预先创建的计数器进行初始计数;
将与所述第一目标数据帧相邻的音频数据帧确定为第二目标数据帧,判断所述第二目标数据帧所对应低通数据的平均能量值是否小于所述预设的释放阈值,如果所述第二目标数据帧所对应低通数据的平均能量值不小于预设的释放阈值,判定所述第二目标数据帧需要进行振动,并对所述计数器的计数加一;
将所述第二目标数据帧的下一音频数据帧确定为第三目标数据帧,判断所述第三目标数据帧所对应低通数据的平均能量值是否小于所述预设的释放阈值,如果所述第三目标数据帧所对应低通数据的平均能量值不小于所述预设的释放阈值,判定所述第三目标数据帧不需要进行振动,并对所述计数器的计数加一,并判断所述计数器当前的计数结果是否大于预设的计数数值,若所述计数器当前的计数结果不大于所述预设的计数数值,则将所述第三目标数据帧的下一音频数据帧确定为新的第三目标数据帧,对所述新的第三目标数据帧重复执行上述对所述第三目标数据帧的判断过程,直至所述计数器的计数结果大于所述预设的计数数值时,将所述新的第三目标数据帧的下一音频数据帧确定为新的第一目标数据帧,并对所述新的第一目标数据帧执行所述第一操作,直至判断至所述音频数据流中的最后一个音频数据帧。
本发明实施例提供的方法中,预设的判断方式为:将音频数据流中的首个音频数据帧确定为第一目标数据帧,判断第一目标数据帧对应的低通数据的平均能量值是否大于预设触发阈值,如果是,判定第一目标数据帧需要进行振动,同时启动计数器开始计数为0,将音频数据流中第一目标数据帧之后的首个音频数据帧确定为第二目标数据帧,判断第二目标数据帧对应的低通数据的平均能量值是否不小于预设释放阈值,如果是,判定第二目标数据帧需要振动,计数加1,将音频数据流中第二目标数据帧的下一音频数据帧确定为第三目标数据帧,判断第三目标数据帧对应的低通数据的平均能量值是否不小于预设释放阈值,如果是,判定第三目标数据帧不需要振动,计数加1,并对计数器的计数结果进行判断,若计数器的计数结果不大于所述预设的计数数值,则将当前所述第三目标数据帧的下一音频数据帧确定为新的第三目标数据帧,并对所述新的第三目标数据帧重复执行上述对所述第三目标数据帧的判断过程,直至所述计数器的计数结果大于所述预设的计数数值时,将所述新的第三目标数据帧的下一音频数据帧确定为新的第一目标数据帧,并对所述新的第一目标数据帧执行上述对所述第一目标数据帧的判断过程,直至判断至所述音频数据流中的最后一个音频数据帧。
本发明实施例提供的马达振动方法中,如果所述第二目标数据帧所对应低通数据的平均能量值小于所述预设的释放阈值,判定所述第二目标数据帧不需要振动,并将所述计数器的计数清零,以及将所述第二目标数据帧的下一音频数据帧确定为新的第一目标数据帧,并对确定的新的第一目标数据帧执行第一操作。
本发明实施例提供的马达振动方法中,如果所述第三目标数据帧所对应低通数据的平均能量小于所述预设的释放阈值,或所述计数器当前的计数结果大于所述预设的计数数值,判定所述第三目标数据帧不需要振动,并将所述计数器的计数清零,以及将当前所述第三目标数据帧的下一音频数据帧确定为新的第一目标数据帧,对确定的新的第一目标数据帧执行所述第一操作。
本发明实施例提供的方法中,优选的,所述计数数值可以是5,在连续的枪击过程中,前后两个枪声的最短时间间隔是80ms,而每帧音频数据的时间为20ms左右,通过计数器计数到5清零,强制释放音频数据帧数,可以提高连续枪声的声音识别,同时减少单发枪声造成的余音振动。
本发明实施例提供的马达振动方法中,如果第一目标数据帧对应的低通数据的平均能量值小于或等于预设触发阈值,则重新确定第一目标数据,新的目标数据确定为第一目标数据帧之后的首个音频数据帧,即,将新的第一目标数据帧确定为第一目标数据帧,并对新的第一目标数据帧执行第一操作。
在本发明实施例提供的方法中,对判断音频数据帧是否需要振动的实现进行举例说明,如图3所示,具体过程如下所述:
横轴表示整个音频数据流,A0表示音频数据流中的第一帧音频数据帧,A1表示音频数据流中的第二帧音频数据帧,A2表示音频数据流中的第三帧音频数据帧,以此类推。
A0对应的低通数据的平均能量值大于预设触发阈值,判定A0需要振动,同时,计数为0,继续后续判断,A1对应的低通数据的平均能量值不小于预设释放阈值,判定A1需要振动,计数加1,继续后续判断,A2对应的低通数据的平均能量值不小于预设释放阈值,判定A2不需要振动,计数加1,总计数不大于5,继续后续判断,A3对应的低通数据的平均能量值不小于预设释放阈值,判定A3不需要振动,计数加1,计数不大于5,继续后续判断,A4对应的低通数据的平均能量值不小于预设释放阈值,判定A4不需要振动,计数加1,计数不大于5,继续后续判断,A5对应的低通数据的平均能量值不小于预设释放阈值,判定A5不需要振动,计数加1,计数不大于5,继续后续判断,A6对应的低通数据的平均能量值不小于预设释放阈值,则判定A6不需要振动,计数加1,计数大于5,计数清零,强制释放连续音频数据帧,对下一音频数据帧开始重新判定是否大于预设触发阈值的判定,A7对应的低通数据的平均能量值大于预设触发阈值,判定A7需要振动,同时,计数为0,继续后续判断,A8对应的低通数据的平均能量值不小于预设释放阈值,判定A1需要振动,计数加1,继续后续判断,A9对应的低通数据的平均能量值小于预设释放阈值,判定A9不需要振动,同时计数清零,继续后续判断,A10对应的低通数据的平均能量值大于预设触发阈值,判定A10需要振动,同时,计数为0,继续后续判断,A11对应的低通数据的平均能量值小于预设释放阈值,判定A11不需要振动,计数清零,继续后续判断,A12对应的低通数据的平均能量值不大于预设触发阈值,判定A12不需要振动,同时,计数清零,继续后续判断,A13对应的低通数据的平均能量值大于预设触发阈值,判定A13需要振动,同时,计数为0,所有的音频数据帧判断完成。
本发明实施例提供的方法中,所述依据每个所述振动特征点对应的振动能量值,确定每个所述振动特征点对应的振动等级,包括:
将每个所述振动特征点对应的振动能量值与预设的振动级别划分方式进行匹配,以确定每个所述振动特征点对应的振动等级。
本发明实施例提供的方法中,预设的振动级别划分方式为振动能量值在一个预设范围内对应一个振动等级,例如:
如果振动能量值大于等于2050,且小于2500,则该振动特征点对应的振动等级为1;
如果振动能量值大于等于2500,且小于3500,则该振动特征点对应的振动等级为2;
如果振动能量值大于等于3500,且小于4500,则该振动特征点对应的振动等级为3;
如果振动能量值大于等于4500,且小于6000,则该振动特征点对应的振动等级为4;
如果振动能量值大于等于6000,且小于8000,则该振动特征点对应的振动等级为5;
如果振动能量值大于8000,则该振动特征点对应的振动等级为6;
其他振动能量值则映射振动等级为0不振或停止振动。
本发明实施例提供的马达振动方法中,所述播放所述目标音频文件,并在播放至所述目标音频文件中的每个振动特征点时,依据该振动特征点对应的振动等级驱动马达进行振动,具体可以包括:
依据各个振动特征点及每个所述振动特征点对应的振动等级生成芯片控制指令;
将所述芯片控制指令发送至马达的驱动芯片,驱动马达在所述目标音频文件的播放过程中,在播放至所述目标音频文件中的每个振动特征点时,依据该振动特征点对应的振动等级进行振动。
本发明实施例提供方法中,芯片控制指令是基于各个振动特征点及每个所述振动特征点对应的振动等级生成的,将解码的音频文件传输至音频功放并驱动扬声器播放音频,同时,将芯片控制指令传输至马达驱动芯片,驱动马达在目标音频文件的播放过程中,在播放至目标音频文件中的每个振动特征点时,依据该振动特征点对应的振动等级进行振动,以使马达产生与目标音频文件中振动特征点相应的振动。
与图1所述的方法向对应,本发明实施例还提供了一种马达振动装置,用于对图1方法的具体实现,其结构示意图如图4所示,具体包括:
获取单元301,用于当接收到触发指令时,获取目标音频文件;
确定单元302,用于确定所述目标音频文件中的各个振动特征点,依据每个所述振动特征点对应的振动能量值,确定每个所述振动特征点对应的振动等级;
驱动单元303,用于播放所述目标音频文件,并在播放至所述目标音频文件中的每个振动特征点时,依据该振动特征点对应的振动等级驱动马达进行振动。
本发明实施例提供的马达振动装置,当用户点击射击类游戏中的射击控件时,处理器捕获与点击射击控件对应的触发指令,并获取当前环境下与触发指令对应的目标音频文件,依据所述目标音频文件,通过预设振动特征点识别算法提取所述目标音频文件中的各个振动特征点,每个振动特征点都有对应的振动能量值,当确定为目标音频文件中的振动特征点时,基于振动特征点对应的振动能量值,确定每个振动特征点对应的振动等级,将所述目标音频文件传输至音频功放,并驱动扬声器播放所述目标音频,同时,依据各个振动特征点,以及与每个振动特征点对应的振动等级驱动马达振动,以使所述马达在方法至所述目标音频文件中的每个振动特征点时,产生与该振动特征点对应的振动等级相应的振动。应用本发明提供的马达振动装置,使马达能够随着目标音频文件中的振动特征点,产生与振动特征点对应的振动等级的振动,满足用户对于射击振动的反馈需求,提升射击类游戏的乐趣。
在本发明的一个实施例中,基于前述方案,确定单元302配置为:
获取子单元,用于获取所述目标音频文件对应的音频数据流;
分帧子单元,用于按预设的分帧方式,将所述音频数据流划分为多个音频数据帧;
滤波子单元,用于对每个所述音频数据帧进行低通滤波操作,获得与每个所述音频数据帧对应的低通数据;
计算子单元,用于计算每个所述音频数据帧所对应低通数据的平均能量值;
第一判断子单元,用于依据每个所述音频数据帧所对应低通数据的平均能量值,按预设的判断方式,判断该音频数据帧是否需要进行振动,若该音频数据帧需要进行振动,则将该音频数据帧作为所述目标音频文件的振动特征点,并将所述平均能量值作为所述振动特征点的振动能量值。
在本发明的一个实施例中,基于前述方案,获取子单元配置为:
解码子单元,用于解码所述目标音频文件;
采样子单元,用于依据预设的采样方式,对经过解码的所述目标音频文件进行采样,获得与所述目标音频文件对应的音频数据流。
在本发明的一个实施例中,基于前述方案,判断子单元配置为:
第一确定子单元,用于将所述音频数据流中的首个音频数据帧确定为第一目标数据帧,并执行第一操作,所述第一操作包括:
第二判断子单元,用于判断所述第一目标数据帧所对应低通数据的平均能量值是否大于预设的触发阈值,如果所述第一目标数据帧所对应低通数据的平均能量值大于所述预设的触发阈值,判定所述第一目标数据帧需要进行振动,并启动预先创建的计数器进行初始计数;
第三判断子单元,用于将与所述第一目标数据帧相邻的音频数据帧确定为第二目标数据帧,判断所述第二目标数据帧所对应低通数据的平均能量值是否小于所述预设的释放阈值,如果所述第二目标数据帧所对应低通数据的平均能量值不小于预设的释放阈值,判定所述第二目标数据帧需要进行振动,并对所述计数器的计数加一;
第四判断子单元,用于将所述第二目标数据帧的下一音频数据帧确定为第三目标数据帧,判断所述第三目标数据帧所对应低通数据的平均能量值是否小于所述预设的释放阈值,如果所述第三目标数据帧所对应低通数据的平均能量值不小于所述预设的释放阈值,判定所述第三目标数据帧不需要进行振动,并对所述计数器的计数加一,并判断所述计数器当前的计数结果是否大于预设的计数数值,若所述计数器当前的计数结果不大于所述预设的计数数值,则将所述第三目标数据帧的下一音频数据帧确定为新的第三目标数据帧,对所述新的第三目标数据帧重复执行上述对所述第三目标数据帧的判断过程,直至所述计数器的计数结果大于所述预设的计数数值时,将所述新的第三目标数据帧的下一音频数据帧确定为新的第一目标数据帧,并对所述新的第一目标数据帧执行所述第一操作,直至判断至所述音频数据流中的最后一个音频数据帧。
在本发明的一个实施例中,基于前述方案,所述马达振动装置还包括:
第二确定子单元,用于如果所述第二目标数据帧所对应低通数据的平均能量值小于所述预设的释放阈值,判定所述第二目标数据帧不需要振动,并将所述计数器的计数清零,以及将所述第二目标数据帧的下一音频数据帧确定为新的第一目标数据帧,并对确定的新的第一目标数据帧执行所述第一操作;
第三确定子单元,用于如果所述第三目标数据帧所对应低通数据的平均能量小于所述预设的释放阈值,或所述计数器当前的计数结果大于所述预设的计数数值,判定所述第三目标数据帧不需要振动,并将所述计数器的计数清零,以及将当前所述第三目标数据帧的下一音频数据帧确定为新的第一目标数据帧,对确定的新的第一目标数据帧执行所述第一操作。
在本发明的一个实施例中,基于前述方案,所述马达振动装置还包括:
第四确定子单元,用于如果所述第一目标数据帧所对应低通数据的平均能量值不大于所述预设的触发阈值,则判定所述第一目标数据帧不需要振动,并在所述音频数据流中,将所述第一目标数据帧之后的首个音频数据帧确定为新的第一目标数据帧,并对确定的新的第一目标数据帧执行所述第一操作。
在本发明的一个实施例中,基于前述方案,驱动单元303配置为:
生成子单元,用于依据各个振动特征点及每个所述振动特征点对应的振动等级生成芯片控制指令;
驱动子单元,用于将所述芯片控制指令发送至马达的驱动芯片,驱动马达在所述目标音频文件的播放过程中,在播放至所述目标音频文件中的每个振动特征点时,依据该振动特征点对应的振动等级进行振动。
本发明实施例还提供了一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述马达振动方法。
本发明实施例还提供了一种电子设备,其结构示意图如图5所示,具体包括存储器401,以及一个或者一个以上的指令402,其中一个或者一个以上指令402存储于存储器401中,且经配置以由一个或者一个以上处理器403执行所述一个或者一个以上指令402进行以下操作:
当接收到触发指令时,获取目标音频文件;
确定所述目标音频文件中的各个振动特征点;
依据每个所述振动特征点对应的振动能量值,确定每个所述振动特征点对应的振动等级;
播放所述目标音频文件,并在播放至所述目标音频文件中的每个振动特征点时,依据该振动特征点对应的振动等级驱动马达进行振动。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上对本发明所提供的一种马达振动方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (7)
1.一种马达振动方法,其特征在于,包括:
当接收到触发指令时,获取目标音频文件;
确定所述目标音频文件中的各个振动特征点;
依据每个所述振动特征点对应的振动能量值,确定每个所述振动特征点对应的振动等级;
播放所述目标音频文件,并在播放至所述目标音频文件中的每个振动特征点时,依据该振动特征点对应的振动等级驱动马达进行振动;
所述确定所述目标音频文件中的各个振动特征点,包括:
获取所述目标音频文件对应的音频数据流;
按预设的分帧方式,将所述音频数据流划分为多个音频数据帧;
对每个所述音频数据帧进行低通滤波操作,获得与每个所述音频数据帧对应的低通数据;
计算每个所述音频数据帧所对应低通数据的平均能量值;
依据每个所述音频数据帧所对应低通数据的平均能量值,按预设的判断方式,判断该音频数据帧是否需要进行振动,若该音频数据帧需要进行振动,则将该音频数据帧作为所述目标音频文件的振动特征点,并将所述平均能量值作为所述振动特征点的振动能量值;
所述获取所述目标音频文件对应的音频数据流,包括:
解码所述目标音频文件;
将所述音频数据流中的首个音频数据帧确定为第一目标数据帧,并执行第一操作,所述第一操作包括:
判断所述第一目标数据帧所对应低通数据的平均能量值是否大于预设的触发阈值,如果所述第一目标数据帧所对应低通数据的平均能量值大于所述预设的触发阈值,判定所述第一目标数据帧需要进行振动,并启动预先创建的计数器进行初始计数;
将与所述第一目标数据帧相邻的音频数据帧确定为第二目标数据帧,判断所述第二目标数据帧所对应低通数据的平均能量值是否小于所述预设的释放阈值,如果所述第二目标数据帧所对应低通数据的平均能量值不小于预设的释放阈值,判定所述第二目标数据帧需要进行振动,并对所述计数器的计数加一;
将所述第二目标数据帧的下一音频数据帧确定为第三目标数据帧,判断所述第三目标数据帧所对应低通数据的平均能量值是否小于所述预设的释放阈值,如果所述第三目标数据帧所对应低通数据的平均能量值不小于所述预设的释放阈值,判定所述第三目标数据帧不需要进行振动,并对所述计数器的计数加一,并判断所述计数器当前的计数结果是否大于预设的计数数值,若所述计数器当前的计数结果不大于所述预设的计数数值,则将所述第三目标数据帧的下一音频数据帧确定为新的第三目标数据帧,对所述新的第三目标数据帧重复执行上述对所述第三目标数据帧的判断过程,直至所述计数器的计数结果大于所述预设的计数数值时,将所述新的第三目标数据帧的下一音频数据帧确定为新的第一目标数据帧,并对所述新的第一目标数据帧执行所述第一操作,直至判断至所述音频数据流中的最后一个音频数据帧。
2.根据权利要求1所述的方法,其特征在于,还包括:
如果所述第二目标数据帧所对应低通数据的平均能量值小于所述预设的释放阈值,判定所述第二目标数据帧不需要振动,并将所述计数器的计数清零,以及将所述第二目标数据帧的下一音频数据帧确定为新的第一目标数据帧,并对确定的新的第一目标数据帧执行所述第一操作;
如果所述第三目标数据帧所对应低通数据的平均能量小于所述预设的释放阈值,或所述计数器当前的计数结果大于所述预设的计数数值,判定所述第三目标数据帧不需要振动,并将所述计数器的计数清零,以及将当前所述第三目标数据帧的下一音频数据帧确定为新的第一目标数据帧,对确定的新的第一目标数据帧执行所述第一操作。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
如果所述第一目标数据帧所对应低通数据的平均能量值不大于所述预设的触发阈值,则判定所述第一目标数据帧不需要振动,并在所述音频数据流中,将所述第一目标数据帧之后的首个音频数据帧确定为新的第一目标数据帧,并对确定的新的第一目标数据帧执行所述第一操作。
4.根据权利要求1所述的方法,其特征在于,所述播放所述目标音频文件,并在播放至所述目标音频文件中的每个振动特征点时,依据该振动特征点对应的振动等级驱动马达进行振动,包括:
依据各个振动特征点及每个所述振动特征点对应的振动等级生成芯片控制指令;
将所述芯片控制指令发送至马达的驱动芯片,驱动马达在所述目标音频文件的播放过程中,在播放至所述目标音频文件中的每个振动特征点时,依据该振动特征点对应的振动等级进行振动。
5.一种马达振动装置,其特征在于,包括:
获取单元,用于当接收到触发指令时,获取目标音频文件;
确定单元,用于确定所述目标音频文件中的各个振动特征点,依据每个所述振动特征点对应的振动能量值,确定每个所述振动特征点对应的振动等级;
驱动单元,用于播放所述目标音频文件,并在播放至所述目标音频文件中的每个振动特征点时,依据该振动特征点对应的振动等级驱动马达进行振动;
所述确定单元配置为:
获取子单元,用于获取所述目标音频文件对应的音频数据流;
分帧子单元,用于按预设的分帧方式,将所述音频数据流划分为多个音频数据帧;
滤波子单元,用于对每个所述音频数据帧进行低通滤波操作,获得与每个所述音频数据帧对应的低通数据;
计算子单元,用于计算每个所述音频数据帧所对应低通数据的平均能量值;
第一判断子单元,用于依据每个所述音频数据帧所对应低通数据的平均能量值,按预设的判断方式,判断该音频数据帧是否需要进行振动,若该音频数据帧需要进行振动,则将该音频数据帧作为所述目标音频文件的振动特征点,并将所述平均能量值作为所述振动特征点的振动能量值;
所述获取子单元配置为:
解码子单元,用于解码所述目标音频文件;
采样子单元,用于依据预设的采样方式,对经过解码的所述目标音频文件进行采样,获得与所述目标音频文件对应的音频数据流;
所述采样子单元配置为:
第一确定子单元,用于将所述音频数据流中的首个音频数据帧确定为第一目标数据帧,并执行第一操作,所述第一操作包括:
第二判断子单元,用于判断所述第一目标数据帧所对应低通数据的平均能量值是否大于预设的触发阈值,如果所述第一目标数据帧所对应低通数据的平均能量值大于所述预设的触发阈值,判定所述第一目标数据帧需要进行振动,并启动预先创建的计数器进行初始计数;
第三判断子单元,用于将与所述第一目标数据帧相邻的音频数据帧确定为第二目标数据帧,判断所述第二目标数据帧所对应低通数据的平均能量值是否小于所述预设的释放阈值,如果所述第二目标数据帧所对应低通数据的平均能量值不小于预设的释放阈值,判定所述第二目标数据帧需要进行振动,并对所述计数器的计数加一;
第四判断子单元,用于将所述第二目标数据帧的下一音频数据帧确定为第三目标数据帧,判断所述第三目标数据帧所对应低通数据的平均能量值是否小于所述预设的释放阈值,如果所述第三目标数据帧所对应低通数据的平均能量值不小于所述预设的释放阈值,判定所述第三目标数据帧不需要进行振动,并对所述计数器的计数加一,并判断所述计数器当前的计数结果是否大于预设的计数数值,若所述计数器当前的计数结果不大于所述预设的计数数值,则将所述第三目标数据帧的下一音频数据帧确定为新的第三目标数据帧,对所述新的第三目标数据帧重复执行上述对所述第三目标数据帧的判断过程,直至所述计数器的计数结果大于所述预设的计数数值时,将所述新的第三目标数据帧的下一音频数据帧确定为新的第一目标数据帧,并对所述新的第一目标数据帧执行所述第一操作,直至判断至所述音频数据流中的最后一个音频数据帧。
6.一种存储介质,其特征在于,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行如权利要求1~4任意一项所述的马达振动方法。
7.一种电子设备,其特征在于,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行如权利要求1~4任意一项所述的马达振动方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910117014.4A CN109821246B (zh) | 2019-02-15 | 2019-02-15 | 马达振动方法及装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910117014.4A CN109821246B (zh) | 2019-02-15 | 2019-02-15 | 马达振动方法及装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109821246A CN109821246A (zh) | 2019-05-31 |
CN109821246B true CN109821246B (zh) | 2022-07-19 |
Family
ID=66862113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910117014.4A Active CN109821246B (zh) | 2019-02-15 | 2019-02-15 | 马达振动方法及装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109821246B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112657179A (zh) * | 2020-12-31 | 2021-04-16 | 上海艾为电子技术股份有限公司 | 一种马达控制方法、控制系统和控制芯片 |
CN112866472B (zh) * | 2020-12-31 | 2022-03-29 | 上海艾为电子技术股份有限公司 | 一种马达控制方法、控制系统、控制装置和芯片 |
CN113521722B (zh) * | 2021-07-13 | 2023-09-12 | 上海艾为电子技术股份有限公司 | 马达控制方法和电路、控制游戏运行的方法、电子设备 |
CN116827205B (zh) * | 2023-08-31 | 2023-12-15 | 荣耀终端有限公司 | 马达振动的控制方法、电子设备及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003175366A (ja) * | 2001-10-05 | 2003-06-24 | Alps Electric Co Ltd | 振動発生装置及び前記装置を搭載した電子機器 |
CN102024481A (zh) * | 2009-09-14 | 2011-04-20 | 展讯通信(上海)有限公司 | 从音频文件提取振动信息的方法、装置以及振动装置 |
KR20110108164A (ko) * | 2010-03-26 | 2011-10-05 | (주)마이크로텍시스템 | 진동 마우스 구동 시스템 및 그 방법 |
CN107453653A (zh) * | 2014-12-15 | 2017-12-08 | 青岛海信移动通信技术股份有限公司 | 一种移动终端中的马达控制方法及装置 |
CN109189220A (zh) * | 2018-08-21 | 2019-01-11 | Oppo广东移动通信有限公司 | 马达控制方法、装置、存储介质及电子设备 |
-
2019
- 2019-02-15 CN CN201910117014.4A patent/CN109821246B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003175366A (ja) * | 2001-10-05 | 2003-06-24 | Alps Electric Co Ltd | 振動発生装置及び前記装置を搭載した電子機器 |
CN102024481A (zh) * | 2009-09-14 | 2011-04-20 | 展讯通信(上海)有限公司 | 从音频文件提取振动信息的方法、装置以及振动装置 |
KR20110108164A (ko) * | 2010-03-26 | 2011-10-05 | (주)마이크로텍시스템 | 진동 마우스 구동 시스템 및 그 방법 |
CN107453653A (zh) * | 2014-12-15 | 2017-12-08 | 青岛海信移动通信技术股份有限公司 | 一种移动终端中的马达控制方法及装置 |
CN109189220A (zh) * | 2018-08-21 | 2019-01-11 | Oppo广东移动通信有限公司 | 马达控制方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109821246A (zh) | 2019-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109821246B (zh) | 马达振动方法及装置、存储介质及电子设备 | |
CN102024481B (zh) | 从音频文件提取振动信息的方法、装置以及振动装置 | |
CN106878533B (zh) | 一种移动终端的通信方法和装置 | |
TWI308080B (en) | Apparatus for capturing image and sound during interactivity with a computer program, method for selective sound source listening during interactivity with a computer program, and game system | |
JP7033587B2 (ja) | 映像ハイライトを自動的に製作する方法及びシステム | |
TWI590228B (zh) | 語音控制系統、電子裝置及語音控制方法 | |
CN109887528A (zh) | 马达随音频振动的方法及装置、存储介质及电子设备 | |
JP6844608B2 (ja) | 音声処理装置および音声処理方法 | |
EP1201277A3 (en) | Entertainment apparatus and method for reflecting input voice in operation of character | |
CN111603776A (zh) | 音频数据中枪声的识别方法、马达的驱动方法及相关装置 | |
CN111935555B (zh) | 一种直播互动方法、装置、系统、设备及存储介质 | |
CN110718238B (zh) | 串音数据检测方法、客户端和电子设备 | |
CN109771945B (zh) | 终端设备的控制方法和装置 | |
WO2023207472A1 (zh) | 一种音频合成方法、电子设备及可读存储介质 | |
CN109979418A (zh) | 音频处理方法、装置、电子设备及存储介质 | |
WO2007097371A1 (ja) | 通信ゲームシステム、通信ゲーム制御方法、情報記録媒体、ならびに、プログラム | |
JP6549009B2 (ja) | 通信端末及び音声認識システム | |
CN112657179A (zh) | 一种马达控制方法、控制系统和控制芯片 | |
JP6281503B2 (ja) | 通信システム、配信装置及びプログラム | |
CN112700767B (zh) | 人机对话打断方法及装置 | |
CN112866472B (zh) | 一种马达控制方法、控制系统、控制装置和芯片 | |
JP6544439B2 (ja) | 困惑状態判定装置、困惑状態判定方法、及びプログラム | |
TWI377559B (en) | Singing system with situation sound effect and method thereof | |
CN108704310B (zh) | 一种双vr设备参与虚拟游戏时的虚拟场景同步切换方法 | |
JP2008158328A (ja) | 端末装置及び判別方法 |
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 |