交互反馈方法、设备和记录介质与流程

文档序号:16895893发布日期:2019-02-15 23:38阅读:148来源:国知局
交互反馈方法、设备和记录介质与流程

本发明涉及交互控制领域,更具体地说,涉及交互反馈方法、设备和记录介质。



背景技术:

现有的音乐动画采用在时间上顺序播放的形式。在播放过程中,仅能够执行诸如暂停、恢复播放、跳转至某一播放位置等简单的控制操作。然而,这些控制操作均为针对音乐动画的播放进度而执行的固定的控制操作。换言之,用户仅能够通过按下预先设置的图标来执行播放进度方面的控制。但是音乐动画的播放内容是固定的,并不会响应于外部输入而改变。



技术实现要素:

鉴于以上情形,期望提供能够响应于外部输入而改变其播放内容的交互反馈方法、应用所述方法的设备以及存储所述方法的计算机程序的计算机可读记录介质。

根据本发明的一个方面,提供了一种交互反馈方法,包括:获取一段音乐的重复节拍时长;以所述重复节拍时长为单位将所述音乐划分为多个连续的重复节拍时段;以及当在所述音乐的播放过程中检测到第一点击操作时,确定所述第一点击操作发生的时间点所位于的第一重复节拍时段,并在所述第一重复节拍时段之后的第二重复节拍时段,播放与所述第一点击操作对应的第一效果。

另外,在根据本发明的交互反馈方法中,在检测到所述第一点击操作之后,进一步包括确定所述第一效果的步骤,并且所述确定所述第一效果的步骤包括:基于所述第一点击操作发生的时间点,在多个效果组中选择一个效果组,并选择该效果组中的一个效果作为所述第一效果。

另外,在根据本发明的交互反馈方法中,所述基于所述第一点击操作发生的时间点,在多个效果组中选择一个效果组,并选择该效果组中的一个效果作为所述第一效果的步骤进一步包括:判断在检测到所述第一点击操作之前是否已经检测到第二点击操作;如果在检测到所述第一点击操作之前已经检测到第二点击操作,则判断所述第一点击操作与所述第二点击操作之间的时间间隔是否小于预定阈值;如果所述时间间隔小于预定阈值,则选择响应于第二点击操作而播放的第二效果所在的效果组,并选择其中的一个效果作为所述第一效果;如果在检测到所述第一点击操作之前尚未检测到第二点击操作,或者如果所述时间间隔大于预定阈值,则基于预定规则而选择一个效果组,并选择其中的一个效果作为所述第一效果。

另外,在根据本发明的交互反馈方法中,所述第一效果包括与所述第一点击操作对应的第一音频。

另外,在根据本发明的交互反馈方法中,所述第一效果包括与所述第一点击操作对应的第一动画。

另外,根据本发明的交互反馈方法可以进一步包括:当在所述音乐的播放过程中未检测到第一点击操作时,播放与所述音乐对应的场景,其中,所述场景包括与所述音乐的重复节拍时段对应的节拍动画。

另外,在根据本发明的交互反馈方法中,播放与所述第一点击操作对应的第一效果包括:以所述第一动画替换当前播放的节拍动画。

另外,在根据本发明的交互反馈方法中,所述场景进一步包括背景图像,并且所述方法进一步包括:将所述音乐划分为多个连续的组合节拍时段,其中每一个所述组合节拍时段包括多个所述重复节拍时段,以及当所述音乐播放的位置从当前组合节拍时段进入下一组合节拍时段时,变换所述节拍动画和/或所述背景图像。

根据本发明的另一个方面,提供了一种交互反馈设备,包括:获取单元,用于获取所述一段音乐的重复节拍时长;划分单元,用于以所述重复节拍时长为单位将所述音乐划分为多个连续的重复节拍时段;播放单元,用于执行播放操作;检测单元,用于检测点击操作;以及控制单元,用于当在所述音乐的播放过程中所述检测单元检测到第一点击操作时,确定所述第一点击操作发生的时间点所位于的第一重复节拍时段,并在所述第一重复节拍时段之后的第二重复节拍时段,控制所述播放单元播放与所述第一点击操作对应的第一效果。

另外,在根据本发明实施例的交互反馈设备中,所述控制单元进一步被配置为:在所述检测单元检测到所述第一点击操作之后,执行用于确定所述第一效果的处理,并且所述确定所述第一效果的处理包括:基于所述第一点击操作发生的时间点,在多个效果组中选择一个效果组,并选择该效果组中的一个效果作为所述第一效果。

另外,在根据本发明实施例的交互反馈设备中,所述基于所述第一点击操作发生的时间点,在多个效果组中选择一个效果组,并选择该效果组中的一个效果作为所述第一效果的处理进一步包括:判断在检测到所述第一点击操作之前是否已经检测到第二点击操作;如果在检测到所述第一点击操作之前已经检测到第二点击操作,则判断所述第一点击操作与所述第二点击操作之间的时间间隔是否小于预定阈值;如果所述时间间隔小于预定阈值,则选择响应于第二点击操作而播放的第二效果所在的效果组,并选择其中的一个效果作为所述第一效果;如果在检测到所述第一点击操作之前尚未检测到第二点击操作,或者如果所述时间间隔大于预定阈值,则基于预定规则而选择一个效果组,并选择其中的一个效果作为所述第一效果。

另外,在根据本发明实施例的交互反馈设备中,所述第一效果包括与所述第一点击操作对应的第一音频。

另外,在根据本发明实施例的交互反馈设备中,所述第一效果包括与所述第一点击操作对应的第一动画。

另外,在根据本发明实施例的交互反馈设备中,当在所述音乐的播放过程中所述检测单元未检测到第一点击操作时,所述控制单元进一步控制所述播放单元播放与所述音乐对应的场景,其中,所述场景包括与所述音乐的重复节拍时段对应的节拍动画。

另外,在根据本发明实施例的交互反馈设备中,当播放与所述第一点击操作对应的第一效果时,所述播放单元进一步被配置为:以所述第一动画替换当前播放的节拍动画。

另外,在根据本发明实施例的交互反馈设备中,所述场景进一步包括背景图片,所述划分单元进一步被配置为将所述音乐划分为多个连续的组合节拍时段,其中每一个所述组合节拍时段包括多个所述重复节拍时段;并且所述播放单元进一步被配置为:当所述音乐播放的位置从当前组合节拍时段进入下一组合节拍时段时,变换所述节拍动画和/或所述背景图像。

根据本发明的再一方面,提供了一种交互反馈设备,包括:处理器,以及存储器,其上存储计算机程序,当由所述处理器执行所述计算机程序时,实现以下步骤:获取一段音乐的重复节拍时长;以所述重复节拍时长为单位将所述音乐划分为多个连续的重复节拍时段;以及当在所述音乐的播放过程中检测到第一点击操作时,确定所述第一点击操作发生的时间点所位于的第一重复节拍时段,并在所述第一重复节拍时段之后的第二节拍时段,播放与所述第一点击操作对应的第一效果。

根据本发明的又一方面,提供了一种计算机可读记录介质,用于存储计算机程序,当由处理器执行所述计算机程序时,实现以下步骤:获取一段音乐的重复节拍时长;以所述重复节拍时长为单位将所述音乐划分为多个连续的重复节拍时段;以及当在所述音乐的播放过程中检测到第一点击操作时,确定所述第一点击操作发生的时间点所位于的第一重复节拍时段,并在所述第一重复节拍时段之后的第二重复节拍时段,播放与所述第一点击操作对应的第一效果。

通过根据本发明实施例的交互反馈方法、设备和记录介质,能够响应于外部输入而改变播放内容作为反馈。此外,可以在自动地贴合原有音乐的节拍的情况下播放与外部输入对应的效果,并且由于外部输入的点击操作的时间间隔是任意的,且通常与原有音乐节拍不同,因此实现了多节奏组合演奏的效果。

附图说明

图1是图示根据本发明的实施例的交互反馈方法的流程图;

图2是示出了执行第一点击操作与播放第一效果在时间上的先后关系的一种示例的示意图;

图3是示出了当在音乐的播放过程中检测到多个点击操作时如何确定对应的播放效果的一种示例的流程图;

图4示出了响应于点击操作而播放的动画组的一个示例;

图5示出了音乐的重复节拍时段、节拍动画和场景在时间上的对应关系;

图6是示出了根据本发明的实施例的交互反馈设备的功能性框图;

图7示出了根据本发明的实施例的交互反馈设备作为硬件实体的一个示例;以及

图8示出了根据本发明的实施例的计算机可读记录介质的示意图。

具体实施方式

下面将参照附图对本发明的各个优选的实施方式进行描述。提供以下参照附图的描述,以帮助对由权利要求及其等价物所限定的本发明的示例实施方式的理解。其包括帮助理解的各种具体细节,但它们只能被看作是示例性的。因此,本领域技术人员将认识到,可对这里描述的实施方式进行各种改变和修改,而不脱离本发明的范围和精神。而且,为了使说明书更加清楚简洁,将省略对本领域熟知功能和构造的详细描述。

html(hypertextmark-uplanguage)即超文本标记语言,通过标记符号来标记要显示的网页中的各个部分。“超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。html5是html的第五版本。例如,根据本发明的交互反馈方法可以是基于html5来开发的。当然,本发明并不仅限于此。本领域的技术人员可以理解,根据本发明的交互反馈方法也可以基于其他的语言来开发。因此,在描述本发明的各实施例之前,首先对html5中一些元素进行说明。

canvas:允许脚本语言动态渲染位图像。

audio:允许脚本语言动态播放mp3等格式的音频文件。

webaudio:更高级的音频接口,允许脚本语言动态播放mp3等格式的音频文件以及读取音频文件的属性。

requestanimframe:浏览器用于定时循环操作的一个接口。

下面,将参照图1描述根据本发明实施例的交互反馈方法。所述交互反馈方法应用于一段音乐的播放期间。例如,在该段音乐的播放期间,可以执行诸如获取后台播放状态、播放、暂停、停止、控制播放进度、监听音乐播放、监听音乐暂停和监听音乐停止等一系列控制。

在具体实现中,例如,在html5中,可以通过如下接口来实现以上所述的控制。

wx.getbackgroundaudioplayerstate(object):用于获取后台音乐播放状态。其返回参数包括:success(接口调用成功的回调函数)、fail(接口调用失败的回调函数)和complete(接口调用停止的回调函数)。其中success进一步包括以下参数:duration(选定音频的长度)、currentposition(选定音频的播放位置)、status(播放状态)、downloadpercent(音频的下载进度)和dataurl(歌曲数据连接)。

wx.playbackgroundaudio(object):用于播放音乐。

wx.pausebackgroundaudio():用于暂停播放音乐。

wx.seekbackgroundaudio(object):用于控制音乐播放进度。

wx.stopbackgroundaudio():用于停止播放音乐。

wx.onbackgroundaudioplay(callback):用于监听音乐播放。

wx.onbackgroundaudiopause(callback):用于监听音乐暂停。

wx.onbackgroundaudiostop(callback)监听音乐停止。

参照图1,所述交互反馈方法包括以下步骤。

首先,在步骤s101,获取一段音乐的重复节拍时长。

在音乐中,有强有弱的相同的时段,按照一定的顺序循环重复,就形成了节拍。通过定义可以看出,在节拍中,强弱的关系是不可缺少的因素,并且节拍偏重的是相同的时段,并且要循环重复。如一强一弱的循环重复(两拍子)、一强两弱的循环重复(三拍子)等,可见在这种循环重复中起主要作用的是强弱关系的顺序。在节拍中,这种相同的时段就叫做“单位拍”,也就是我们平时所说的“一拍”。处于强关系的单位拍就是强拍、处于弱关系的单位拍就是弱拍。一拍所占用的时段为最小节拍时长。例如,在步骤s101中确定的重复节拍时长可以等于一个最小节拍时长,或者,可替代地,其也可以等于多个最小节拍时长。

在下文中,以重复节拍时长等于一个最小节拍时长为例进行说明。当然,这不应理解为限制性的。本发明也适用于重复节拍时长等于多个最小节拍时长的情况。

通过首先获取音乐的总时长以及音乐的节拍数据(如,节拍数),然后将总时长除以节拍数的方式来确定最小节拍时长。

在具体实现中,例如,如上文中所述,可以通过html5中的audio或webaudio的参数duration获得所述音乐的总时长:t.totaltime=t.bgsoundobj.duration。然后,可以通过读取音乐的属性来获得所述音乐的节拍数据(例如,该段音乐共计重复了多少次节拍)。假设该段音乐共重复了64次节拍,那么最小节拍时长t.wordtime=t.totaltime/64。

然后,在步骤s102,以所述重复节拍时长为单位将所述音乐划分为多个连续的重复节拍时段。例如,这些重复节拍时段是等长的,并且这些重复节拍时段按照时间先后顺序连续地排列。或者,这些重复节拍时段也可以是不等长的。例如,第1个重复节拍时段可以等于1个重复节拍时长,第2个重复节拍时段可以等于2个重复节拍时长,……等等。

接下来,在步骤s103,判断在音乐的播放过程中是否检测到第一点击操作。例如,该第一点击操作可以是用户对于显示所述音乐的播放界面的触摸显示屏的点击操作。当然,本发明并不仅限于此。例如,取决于播放所述音乐的不同设备,第一点击操作也可以是对于物理按键或设备壳体的特定位置的点击操作。

如果步骤s103的判断为是,即:在所述音乐的播放过程中检测到第一点击操作,那么处理进行到步骤s104。在步骤s104,确定所述第一点击操作发生的时间点所位于的第一重复节拍时段,并在所述第一重复节拍时段之后的第二重复节拍时段,播放与所述第一点击操作对应的第一效果。

在具体实现中,使用window.requestanimframe来实现循环地监听音乐播放的位置(position)。window.requestanimframe的优势在于充分利用显示器的刷新机制,比较节省系统资源。显示器有固定的刷新频率(60hz或75hz),window.requestanimframe的基本思想就是与这个刷新频率保持同步。以这样的频率来循环地检测音乐的当前播放位置。如果检测到音乐的当前播放位置进入第二重复节拍时段(即:if(t.bgsoundobj.position>=t.index*this.wordtime)),则播放与所述第一点击操作对应的第一效果。

另一方面,如果在步骤s103判断为否,即在所述音乐的播放过程中未检测到第一点击操作,则进行至处理1,这将后面描述。

图2是示出了执行第一点击操作与播放第一效果在时间上的先后关系的一种示例的示意图。如图2所示,如果第一点击操作发生在音乐的第一重复节拍时段期间,那么在当前的时段中并不执行任何操作。在与第一重复节拍时段相邻的下一重复节拍时段(即,第二重复节拍时段)的起始点开始播放第一效果作为对于第一点击操作的反馈,并且持续播放该第一效果直至第二重复节拍时段结束,即:在第二重复节拍时段期间播放第一效果。图2中示出的是在与第一重复节拍时段相邻的下一重复节拍时段播放第一效果的情况。当然,本发明并不仅限于此。例如,取决于具体的设计要求,还可以在第一重复节拍时段之后的第n个重复节拍时段播放第一效果。

因此,在根据本发明实施例的交互反馈方法中,对于外部输入的点击操作,可以在自动地贴合原有音乐的节拍的情况下播放与该点击操作对应的效果,作为对该点击操作的反馈。由于外部输入的点击操作的时间间隔是任意的,且通常与原有音乐节拍不同,因此实现了多节奏组合演奏的效果。

这里,需要指出的是,上文中提及的“第一”以及下文中将出现的“第二”的目的是在相同的术语之间进行区分或者不同术语之间进行对应,而不强调任何方面(如,时间上)的先后关系。例如,第一重复节拍时段意在限定与第一点击操作对应的时段,并不强调时间上的先后关系。也就是说,第一重复节拍时段并不一定是音乐的第一个重复节拍时段。

另外,在检测到所述第一点击操作之后,所述方法还可以进一步包括确定所述第一效果的步骤。

例如,所述确定所述第一效果的步骤可以包括:基于所述第一点击操作发生的时间点,在多个效果中选择一个效果作为所述第一效果。

在这种情况下,可以预先在多个效果与多个重复节拍时段之间建立对应关系。如上文中的步骤s104所述,基于所述第一点击操作发生的时间点,可以确定将要播放效果的重复节拍时段。进而,基于预先建立的对应关系以及该重复节拍时段,可以确定在该重复节拍时段期间所要播放的效果。或者,也可以随机地在多个效果之中选择一个效果作为所述第一效果。

或者,可替代地,所述确定所述第一效果的步骤也可以包括:基于所述第一点击操作发生的时间点,在多个效果组中选择一个效果组,其中,一个效果组中包括多个效果。并且,选择该效果组中的一个效果作为所述第一效果。

当在音乐的播放过程中检测到多个点击操作时,可以针对每个点击操作,独立地确定所对应的效果。或者,可替代地,当在音乐的播放过程中检测到多个点击操作时,也可以基于相邻的两个点击操作之间的间隔来决定是否将响应于这两个点击操作而播放的效果相关联。

图3示出了当在音乐的播放过程中检测到多个点击操作时如何确定对应的播放效果的一种示例。

在图3所示的情况下,所述基于所述第一点击操作发生的时间点,在多个效果组中选择一个效果组,并选择该效果组中的一个效果作为所述第一效果的步骤进一步包括以下步骤。

首先,在步骤s301,判断在检测到所述第一点击操作之前是否已经检测到第二点击操作。

如果在步骤s301中判断为是,即:在检测到所述第一点击操作之前已经检测到第二点击操作,那么处理进行到步骤s302。

在步骤s302,判断所述第一点击操作与所述第二点击操作之间的时间间隔是否小于预定阈值。

如果在步骤s302判断为是,即:所述时间间隔小于预定阈值,则处理进行到步骤s303。在步骤s303,选择响应于第二点击操作而播放的第二效果所在的效果组,并选择其中的一个效果作为所述第一效果。例如,第一效果可以是相同的效果组中与第二效果衔接的效果。或者,第一效果也可以是与第二效果相同的效果。也就是说,如果两个点击操作之间的间隔时间短,那么将与此对应的两个效果设置为相关联。

如果在步骤s301判断为否,即:检测到所述第一点击操作之前尚未检测到第二点击操作,那么处理进行到步骤s304。在步骤s304,基于预定规则而选择一个效果组,并选择其中的一个效果作为所述第一效果。例如,可以随机地选择一个效果组,并选择其中的一个效果(例如,第一个效果)作为所述第一效果。或者,也可以基于第一点击操作发生的时间点,选择一个效果组,并选择其中的一个效果(例如,第一个效果)作为所述第一效果。从而,实现了全新的第一效果。

如果在步骤s302判断为否,即:所述时间间隔大于预定阈值,则处理同样进行到步骤s304。在步骤s304,基于预定规则而选择一个效果组,并选择其中的一个效果作为所述第一效果。例如,可以随机地选择一个效果组,并选择其中的一个效果(例如,第一个效果)作为所述第一效果。或者,也可以基于第一点击操作发生的时间点,选择一个效果组,并选择其中的一个效果(例如,第一个效果)作为所述第一效果。或者,也可以选择与第二效果所在的效果组不同的效果组,并选择其中的一个效果(例如,第一个效果)作为所述第一效果。从而,实现了全新的第一效果。

作为一种实施方式,响应于点击操作而播放的效果可以包括音频。在这种情况下,所述第一效果包括与所述第一点击操作对应的第一音频。例如,第一音频可以是对应于单个汉字的音频,也可以是对应于某种声音(如,嗒嗒声)的音频。

在这种实施方式中,在多个效果中选择一个效果作为所述第一效果具体包括:在多个音频中选择一个音频作为第一音频。或者,在多个效果组中选择一个效果组,并选择该效果组中的一个效果作为所述第一效果具体包括:在多个音频组中选择一个音频组,并选择该音频组中的一个音频作为所述第一音频。

参照图3,当两个点击操作之间的间隔小于预定阈值时,步骤s302可以包括:选择响应于第二点击操作而播放的第二音频所在的音频组,并选择其中的一个音频作为所述第一音频。例如,一个音频组可以是由一个成语的四个字所对应的四个音频构成的组。假设第二音频为一个成语(即,一个音频组)中的第二个字所对应的音频,那么可以选择该成语中的第三个字所对应的音频作为第一音频。从而,实现了第一效果与第二效果的衔接。

当两个点击操作之间的间隔不小于预定阈值时,或者当只存在一个点击操作时,步骤s304可以包括:基于预定规则而选择一个音频组,并选择其中的一个音频作为所述第一音频。也就是说,需要重新选择音频组。例如,可以重新选择另一个成语(即,另一个音频组),并选择该成语中的第一个字所对应的音频作为第一音频。从而,实现了全新的第一效果。

作为另一种实施方式,响应于点击操作而播放的效果可以包括动画。在这种情况下,所述第一效果包括与所述第一点击操作对应的第一动画。

例如,在具体实现中,可以通过html5中的canvas的标签对动画进行渲染。

canvas是html5新增的、可以使用脚本(通常为javascript)在其中绘制图像的html元素。它可以用来制作照片集或者制作动画,甚至可以进行实时视频处理和渲染。

canvas是由html代码配合高度和宽度属性而定义出的可绘制区域。javascript代码可以访问该区域,类似于其他通用的二维api,通过一套完整的绘图函数来动态生成图形。

canvas会创建一个固定大小的画布,公开一个或多个渲染上下文(画笔),并使用渲染上下文来绘制和处理要展示的内容。

canvas只支持一种原生的图形绘制:矩形。所有其他图形都至少需要生成一种路径(path)。然而,众多路径生成的方法让复杂图形的绘制成为了可能。

canvast提供了三种方法绘制矩形:

fillrect(x,y,width,height):绘制一个填充的矩形。

strockrect(x,y,width,height):绘制一个矩形的边框。

clearrect(x,y,widh,height):清除指定的矩形区域,然后这块区域会变的完全透明。

以上这3个方法具有相同的参数。x,y是指的是矩形的左上角的坐标(相对于canvas的坐标原点)。width,height是指的是绘制的矩形的宽和高。图形的基本元素是路径。

路径是通过不同颜色和宽度的线段或曲线相连形成的不同形状的点的集合。一个路径,甚至一个子路径,都是闭合的。下面是需要用到的方法:

beginpath():新建一条路径,路径一旦创建成功,图形绘制命令被指向到路径上生成路径。

moveto(x,y):把画笔移动到指定的坐标(x,y)。相当于设置路径的起始点坐标。

closepath():闭合路径之后,图形绘制命令又重新指向到上下文中。

stroke():通过线条来绘制图形轮廓。

fill():通过填充路径的内容区域生成实心的图形。

通过以上方法可以绘制诸如线段、三角形、弧线等图形。

在以上图像绘制的描述中,均使用默认的线条和颜色。此外,例如,还可以通过如下函数来添加样式和颜色。

fillstyle=color:设置图形的填充颜色。

strokestyle=color:设置图形轮廓的颜色。

globalalpha=transparencyvalue:设置图形的透明度。

linewidth=value:设置线宽。

linecap=type:设置线条末端样式。

linejoin=type:同一个path内,设定线条与线条间接合处的样式。

另外,canvas还提供了两种方法来渲染文本:

filltext(text,x,y[,maxwidth]):在指定的(x,y)位置填充指定的文本,绘制的最大宽度是可选的。

stroketext(text,x,y[,maxwidth]):在指定的(x,y)位置绘制文本边框,绘制的最大宽度是可选的。

以上描述了通过canvas绘制图案的具体方式。当然,也可以在canvas上直接加载现有的图片。

在canvas中绘制动画帧的基本步骤包括:

首先,清空canvas。在绘制每一帧动画之前,需要清空所有。清空所有最简单的做法就是clearrect()方法。

接下来,保存canvas状态。如果在绘制的过程中会更改canvas的状态(颜色、移动了坐标原点等),又在绘制每一帧时都是原始状态的话,则最好保存下canvas的状态。

接下来,绘制动画图形。可以通过上文中描述的方法来绘制每一个动画帧。

最后,恢复canvas状态。如果在前面保存了canvas状态,则应该在绘制完成一帧之后恢复canvas状态。

另外,例如,可以通过wx.createanimation(object)来创建一个动画实例(animation)。调用动画操作方法后要调用step()来表示一组动画完成,可以在一组动画中调用任意多个动画方法,一组动画中的所有动画会同时开始,一组动画完成后才会进行下一组动画。最后通过动画实例的export方法导出动画数据传递给组件的animation属性。

为了执行动画,还需要一些可以定时执行重绘的方法。例如,可以使用以下三种方法:setinterval()、settimeout()、requestanimationframe()。

在这种实施方式中,在多个效果中选择一个效果作为所述第一效果具体包括:在多个动画中选择一个动画作为第一动画。或者,在多个效果组中选择一个效果组,并选择该效果组中的一个效果作为所述第一效果具体包括:在多个动画组中选择一个动画组,并选择该动画组中的一个动画作为所述第一动画。

参照图3,当两个点击操作之间的间隔小于预定阈值时,步骤s302可以包括:选择响应于第二点击操作而播放的第二动画所在的动画组,并选择其中的一个动画作为所述第一动画。例如,图4(a)-4(d)示出了动画组的一个示例。如图4(a)-4(d)中所示,一个动画组可以包括一组连续动作所对应的四个动画。当然,由于仅能够提供静态附图,因此在图4(a)-4(d)中示出的是四个动画所对应的截图。假设第二动画为一个动画组中的第二个动作所对应的动画,那么可以选择该动画组中的第三个动作所对应的动画作为第一动画。从而,实现了第一效果与第二效果的衔接。

当两个点击操作之间的间隔不小于预定阈值时,或者当只存在一个点击操作时,步骤s304可以包括:基于预定规则而选择一个动画组,并选择其中的一个动画作为所述第一动画。也就是说,需要重新选择动画组。例如,可以重新选择另一个卡通人物的一组连续动作(即,另一个动画组),并选择该动画组中的第一个动作所对应的动画作为第一动画。从而,实现了全新的第一效果。

作为再一种实施方式,响应于点击操作而播放的效果可以既包括音频又包括动画。并且,音频和动画可以是彼此关联的。在这种情况下,所述第一效果包括与所述第一点击操作对应的第一音频和第一动画,其中第一动画可以与第一音频相对应。在这种实施方式中,可以以与上文相同的方式来确定响应于第一点击操作而播放的第一音频,具体细节不再赘述。进而,基于第一音频与第一动画之间的对应性来确定要播放的第一动画。例如,图4中所示的动画组中包括的四个动画可以分别对应于汉字“心”、“想”、“事”、“成”的音频。

在上文中描述了当在音乐的播放过程检测到第一点击操作时如何播放及确定与第一点击操作对应的效果的方法。另一方面,当在音乐的播放过程未检测到第一点击操作时,即在图1中的步骤s103判断为否时,执行处理1,具体包括:播放与所述音乐对应的场景,其中,所述场景包括与所述音乐的重复节拍时段对应的节拍动画。在具体实现中,可以通过html5中的canvas的标签对动画进行渲染。

图5示出了音乐的重复节拍时段、场景和节拍动画之间在时间上的对应关系的一种示例。在图5中,501和502分别表示不同的场景,并且场景501包括四个重复节拍时段5011、5012、5013和5014,场景502包括四个重复节拍时段5021、5022、5023和5024。也就是说,在图5所示的情况下,每隔预定数量(例如,四个)的重复节拍时段切换不同的场景,并且不同的重复节拍时段对应于不同的节拍动画。这里,在一个场景中,尽管不同的节拍动画对应于不同的重复节拍时段,但是这些不同的节拍动画属于同一个动画组。以一个场景501为例进行描述。如图5所示,场景501中包括的四个重复节拍时段5011、5012、5013和5014分别对应于四个不同的节拍动画(截图)。这些不同的节拍动画分别表示同一个卡通人物的不同动作。重复节拍时段5011所对应的节拍动画为卡通人物向上跳的动画,为了在视觉效果上体现随音乐节拍而律动的效果,下一重复节拍时段5012所对应的节拍动画为卡通人物的另一个不同动作的动画,如向下跳的动画。场景502与场景501的情况类似,图中未详细图示。场景502与场景501的区别在于具体的场景内容不同。例如,场景502与场景501中播放的是不同卡通人物的动作所对应的节拍动画。或者,如下文中所述,场景502与场景501中的背景图像不同。

在这种情况下,当检测到第一点击操作时,由于当前正在播放场景中包括的节拍动画,这与将要响应于第一点击操作而播放的第一动画在播放时间上重叠,因此上文中描述的播放与所述第一点击操作对应的第一效果包括:以所述第一动画替换当前播放的节拍动画。

另外,除了与所述音乐的重复节拍时段对应的节拍动画之外,所述场景进一步可以包括背景图像。

所述方法可以进一步包括:将所述音乐划分为多个连续的组合节拍时段,其中每一个所述组合节拍时段包括多个所述重复节拍时段。例如,如果如上文中所述,重复节拍时段为t.wordtime=t.totaltime/64,那么组合节拍时段可以为t.wordtime=t.totaltime/16。这里的多个组合节拍时段分别对应于上文中所述的不同场景。

当所述音乐播放的位置从当前组合节拍时段进入下一组合节拍时段时,变换所述节拍动画。这里,变换节拍动画可以是指变换同一动画组中不同动作所对应的节拍动画,例如,变换到同一个卡通人物的不同动作所对应的节拍动画。或者,也可以是变换到不同的动画组,例如,变换到另一个卡通人物的动作所对应的节拍动画。另外,当所述音乐播放的位置从当前组合节拍时段进入下一组合节拍时段时,还可以进一步变换所述背景图像。例如,在背景图像为单色图像的情况下,可以变换背景图像的颜色。

在具体实现中,使用window.requestanimframe来实现循环地监听音乐播放的位置(position)。window.requestanimframe的优势在于充分利用显示器的刷新机制,比较节省系统资源。显示器有固定的刷新频率(60hz或75hz),window.requestanimframe的基本思想就是与这个刷新频率保持同步。以这样的频率来循环地检测音乐的当前播放位置。如果检测到音乐的当前播放位置从当前重复节拍时段进入下一重复节拍时段(即:if(t.bgsoundobj.position>=t.index*this.wordtime)),则切换到播放与该重复节拍时段对应的节拍动画。当然,如果在当前重复节拍时段已经检测到点击操作,那么在检测到进入下一重复节拍时段时,以与点击操作对应的动画来替换节拍动画。如果检测到音乐的当前播放位置从当前场景进入下一场景(即:if(t.bgsoundobj.position>=t.index*this.spacetime)),则切换到播放与该重复节拍时段对应的场景。

此外,根据本发明实施例的交互反馈方法还可以进一步包括:在原有场景的基础上,记录在音乐的播放过程中响应于检测到的点击操作而播放的效果,并在音乐播放完毕后输出。从而,用户能够获得、重现或分享体现自己风格的个性化的音乐动画。

接下来,将参照图6描述根据本发明实施例的交互反馈设备。例如,所述交互反馈设备可以是智能电话、pda(个人数字助理)、平板计算机、台式计算机等各种信息处理设备。

如图6所示,交互反馈设备600可以包括:确定单元601、划分单元602、播放单元603、检测单元604以及控制单元605。

获取单元601用于获取所述一段音乐的重复节拍时长。

划分单元602用于以所述重复节拍时长为单位将所述音乐划分为多个连续的重复节拍时段。

播放单元603用于执行播放操作,例如播放音乐、效果等。

检测单元604用于检测点击操作。

控制单元605用于当在所述音乐的播放过程中所述检测单元检测到第一点击操作时,确定所述第一点击操作发生的时间点所位于的第一重复节拍时段,并在所述第一重复节拍时段之后的第二重复节拍时段,控制所述播放单元播放603与所述第一点击操作对应的第一效果。

其中,所述控制单元605进一步被配置为:在所述检测单元604检测到所述第一点击操作之后,执行用于确定所述第一效果的处理,并且所述确定所述第一效果的处理包括:基于所述第一点击操作发生的时间点,在多个效果组中选择一个效果组,并选择该效果组中的一个音频作为所述第一效果。

因此,在根据本发明实施例的交互反馈设备中,对于外部输入的点击操作,可以在自动地贴合原有音乐的节拍的情况下播放与该点击操作对应的效果,作为对该点击操作的反馈。由于外部输入的点击操作的时间间隔是任意的,且通常与原有音乐节拍不同,因此实现了多节奏组合演奏的效果。

其中,所述基于所述第一点击操作发生的时间点,在多个效果组中选择一个效果组,并选择该效果组中的一个效果作为所述第一效果的处理进一步包括:判断在检测到所述第一点击操作之前是否已经检测到第二点击操作;如果在检测到所述第一点击操作之前已经检测到第二点击操作,则判断所述第一点击操作与所述第二点击操作之间的时间间隔是否小于预定阈值;如果所述时间间隔小于预定阈值,则选择响应于第二点击操作而播放的第二效果所在的效果组,并选择其中的一个效果作为所述第一效果;如果在检测到所述第一点击操作之前尚未检测到第二点击操作,或者如果所述时间间隔大于预定阈值,则基于预定规则而选择一个效果组,并选择其中的一个效果作为所述第一效果。

作为一种实施方式,所述第一效果包括与所述第一点击操作对应的第一音频。

作为另一种实施方式,所述第一效果包括与所述第一点击操作对应的第一动画。

作为再一种实施方式,所述第一效果包括与所述第一点击操作对应的第一音频和第一动画,其中第一动画可以与第一音频相对应。

当在所述音乐的播放过程中所述检测单元604未检测到第一点击操作时,所述控制单元605进一步控制所述播放单元603播放与所述音乐对应的场景,其中,所述场景包括与所述音乐的重复节拍时段对应的节拍动画。

其中,当播放与所述第一点击操作对应的第一效果时,所述播放单元603进一步被配置为:以所述第一动画替换当前播放的节拍动画。

另外,所述场景可以进一步包括背景图片。所述划分单元602进一步被配置为将所述音乐划分为多个连续的组合节拍时段,其中每一个所述组合节拍时段包括多个所述重复节拍时段;并且所述播放单元603进一步被配置为:当所述音乐播放的位置从当前组合节拍时段进入下一组合节拍时段时,变换所述节拍动画和/或所述背景图像。

根据本发明的用于产品的交互反馈设备作为硬件实体的一个示例如图7所示。所述灰度控制设备包括处理器701、存储器702以及至少一个外部通信接口703。所述处理器701、存储器702以及外部通信接口703均通过总线704连接。

对于用于数据处理的处理器11701而言,在执行处理时,可以采用微处理器、中央处理器(cpu,centralprocessingunit)、数字信号处理器(dsp,digitalsingnalprocessor)或可编程逻辑阵列(fpga,field-programmablegatearray)实现;对于存储器702来说,包含操作指令,该操作指令可以为计算机可执行代码,通过所述操作指令来实现上述本发明实施例交互反馈方法流程中的各个步骤。

图8示出了根据本发明的实施例的计算机可读记录介质的示意图。如图8所示,根据本发明实施例的计算机可读记录介质800其上存储有计算机程序指令801。当所述计算机程序指令801由处理器运行时,执行参照以上附图描述的根据本发明实施例的灰度控制交互反馈方法。

由于根据本发明的实施例的交互反馈设备中各个单元的操作与上文中所述的交互反馈方法中的各个步骤完全对应,因此为了避免冗余起见,这里没有对其细节展开描述。

迄今为止,已经参照图1到图8详细描述了根据本发明实施例的交互反馈方法、设备和记录介质。通过根据本发明实施例的交互反馈方法、设备和记录介质,能够响应于外部输入而改变播放内容作为反馈。此外,可以在自动地贴合原有音乐的节拍的情况下播放与外部输入对应的效果,并且由于外部输入的点击操作的时间间隔是任意的,且通常与原有音乐节拍不同,因此实现了多节奏组合演奏的效果。另外,由于根据本发明的交互反馈方法是基于html5开发的,并且html5广泛地应用于各种产品平台,因此开发和制作成本很低。

需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

最后,还需要说明的是,上述一系列处理不仅包括以这里所述的顺序按时间序列执行的处理,而且包括并行或分别地、而不是按时间顺序执行的处理。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过软件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

以上对本发明进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1