发明内容
本发明的目的在于提供一种多媒体数据录制方法,以解决现有技术中社交分享媒介存在的功能单一、资费过高的技术问题。
本发明的技术方案如下:本发明提供了一种多媒体数据录制方法,包括:
音频获取步骤:获取开始录制指令,记录获取到所述开始录制指令的初始时刻,在所述初始时刻开始获取音频数据,将获取到的所述音频数据编码后保存到第一临时文件;
动作获取步骤:获取绘制动作数据和相对时间数据,将获取到的所述绘制动作数据和所述相对时间数据转换为文本数据后写入录制文件;
音频写入步骤:获取结束录制指令,并在获取到所述结束录制指令后,读取保存到所述第一临时文件的所述音频数据,写入到所述录制文件;
其中,所述绘制动作数据表征了初始时刻后在绘制载体上进行的绘制图形的动作,所述相对时间数据表征了每一绘制动作开始的时刻与所述初始时刻的相对时间差值。
可选地,在音频写入步骤后,还包括:
信息写入步骤:获取用户的输入信息及用户的选定缩略图指令,将所述输入信息和选定的缩略图写入到录制文件;
压缩加密步骤:压缩并加密所述录制文件。
可选地,所述输入信息为录制文件的标题、分类标签及说明文字。
可选地,所述绘制载体为图片或空白页。
可选地,所述绘制载体的页面的数量至少为一。
可选地,所述绘制图形的动作包括:设置绘制载体、删除绘制载体、绘制图形、移动图形、删除图形、复制图形、放大图形、缩小图形、旋转图形以及切换页面。
可选地,所述图形为直线、曲线、多边形、椭圆、圆或插图。
可选地,在压缩加密步骤后,还包括:
解密解压步骤:接收录制文件,对文件进行解密和解压;
音频播放步骤:提取音频数据并保存到第二临时文件,对音频数据进行解码播放,对音频进行播放时启动时钟;
动作排序步骤:提取所有绘制动作,按所述相对时间差值进行升序排列;
动作显示步骤:每隔预设时间检测有无符合预设条件的所述绘制图形的动作,若有,则显示符合预设条件的所述绘制图形的动作;
所述预设条件为尚未被显示且实际时间差值大于或等于相对时间差值;所述实际时间差值指时钟启动时与当前时刻的时间差值。
可选地,所述预设时间为10毫秒。
可选地,所述方法还包括:
播放结束步骤:在检测到音频数据播放完毕时,停止对所述录制文件的操作。
本发明的有益效果:本发明通过将音频数据编码和将绘制动作数据和相对时间数据转换为文本数据,并将这三种数据最终写入录制文件,能够形象表达用户想法,且使得录制文件的占用空间小,从而使得用户上传或下载录制文件的资费减小。因此,在需要进行一些例如操作步骤类的说明时,本发明的技术方案可以取代传统的视频来形象表达用户想法;且从资费出发,其相较视频更容易为大众接受。
需要特别强调的是,本发明的方法其在具备上述技术效果的同时,还因为占用空间小且绘制动作方便(相较于视频录制而言,只需要以手指在显示屏上滑动)而特别适合于移动终端使用,具有出乎意料的技术效果。根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。
图1是本发明一个实施例的多媒体数据录制方法的流程图。参见图1,本发明提供的多媒体数据录制方法至少可以包括音频获取步骤101至音频写入步骤103。
首先,在音频获取步骤101中,获取来自用户的开始录制指令,记录获取到所述开始录制指令的初始时刻,在所述初始时刻开始获取音频数据,将获取到的所述音频数据编码后保存到第一临时文件。然后进入动作获取步骤102,获取绘制动作数据和相对时间数据,将获取到的所述绘制动作数据和所述相对时间数据转换为文本数据后写入录制文件。随后进入音频写入步骤103,获取结束录制指令,并在获取到所述结束录制指令后,读取保存到所述第一临时文件的所述音频数据,写入到所述录制文件。
采用这种技术方案,使得用户可以在录音的同时进行绘图动作,每个绘图动作都结合录音及相对时间记录到录制文件中。在此用户或另一用户观看录制的文件时,可以一边播放录音,一边把绘图动作按时间轴显示出来,这样能达到动态演示的效果。另外,由于音频数据、绘图动作数据在录制文件中都是以文字的形式保存,因此录制文件相对视频文件占用的空间要小得多,在上传和下载时所消耗的资费也较小。相较于视频文件,本发明的多媒体数据录制方法所产生的录制文件既能达到形象阐述录制者表意的目的,又节省了资费。因此,其可以作为一种新的社交分享媒介上传到社交平台并被下载。
需要理解的是,本实施例的多媒体数据录制方法适合在移动设备上操作。例如,当用户要向他人阐述一种家电的操作步骤时,可以在选定一幅家电图片后,使该图片显示于例如手机等移动设备的显示屏。用户在进行语音说明的同时,可以用手指在屏幕上划动以指明语音说明的位置,从而形象地阐述清楚家电的操作步骤。本发明的多媒体数据录制方法产生的录制文件相较视频文件所占用的空间较小,其在形象地传达了录制者表意的同时,也节约了移动设备的存储空间。
因此,本发明的多媒体数据录制方法特别适合应用于移动设备,利用该方法产生的录制文件也是一种能够被移动设备用户所便捷使用的社交分享媒介。该社交分享媒介相较传统的社交分享媒介,在节约用户资费的同时也变相节约了网络资源。
在本发明的一个实施例中,在执行音频获取步骤101时,也可以同时执行动作获取步骤102,以在记录用户的录音的同时记录用户的绘图动作。在本发明的另一个实施例中,也可以先执行动作获取步骤102,再执行音频获取步骤101。
在此实施例中,在音频获取步骤101获取到的是原始的PCM(Pulse-codemodulation,脉冲编码调制)音频数据,直接保存的话会占用较大的存储空间,因此需要对原始的PCM数据进行编码,并写入到临时文件。
在此实施例中,动作获取步骤102中的绘制动作数据可以表征了初始时刻后在绘制载体上进行的绘制图形的动作,动作获取步骤102中的相对时间数据可以表征了每一绘制动作开始的时刻与所述初始时刻的相对时间差值。
此处提到的绘制载体可以为图片或空白页,且所述绘制载体的页面的数量可以为一页或者一页以上。此处提到的绘制图形的动作可以包括:设置绘制载体、删除绘制载体、绘制图形、移动图形、删除图形、复制图形、放大图形、缩小图形、旋转图形以及切换页面。图形为直线、曲线、多边形、椭圆、圆或插图。
在本发明的其他实施例中,在音频获取步骤101中也可以将音频数据保存为编码以外的其他形式,在动作获取步骤中也可以将绘制动作数据和相对时间数据转换为文本数据以外的数据形式。其仍可以达到本发明的生动形象表示用户想法的技术效果。特别地,当该其他形式和数据形式占用空间较小时,可以达到与本发明相同的效果。
以下结合图2,对动作获取步骤102的获取绘制动作数据的过程进行进一步说明。
图2是本发明一个实施例的多媒体数据录制方法的在绘制载体上绘制直线202的示意图。参照图2,用户选定绘制载体201(可以为图片或页面页)后,选择直线工具、颜色、像素等,然后绘制载体上进行画直线动作。该画直线动作可以通过鼠标在PC端进行,也可以通过手指在移动终端进行。以用户用手指在移动终端画直线202为例,用户在(x1,y1)上按下在(x2,y2)上放开手指,应用程序会接收触摸事件,将触摸事件转换为文本后写入录制文件。
当以json协议来记录触摸事件时,动作转换后的json数据如下:{"type":"line","id":1,"draw":{"stroke":{"alpha":1,"r":0,"b":0,"g":0},"pixel":5.0,"x1":147,"y1":276,"x2":468,"y2":500},"time":1000,"page":1}。
该Json数据的具体含义为:type表示动作的类型;line表示画直线动作;id为图形的标识号,如果后面对这个图形进行移动、删除等操作,则需要加入这个标识号;draw为绘制图形的具体参数;stroke表示画笔,包括一些颜色等参数;alpha为线的透明度的参数;r,g,b为RGB颜色;pixel为线粗度的像素参数;x1,y1为直线起点的坐标值;x2,y2为直线终点的坐标值;time为动作发生时的相对时间;page为记录动作所发送的绘制载体的页面页码。
在本发明的其他实施例中,当使用xml或其他录制转换协议代替Json时,仍可以达到本发明的目的。
图3是本发明一个实施例的多媒体数据录制方法的流程图。由图4可以看出,在音频写入步骤103后,本发明的多媒体数据录制方法还可包括:信息写入步骤104,获取用户的输入信息及用户的选定缩略图指令,将所述输入信息和选定的缩略图写入到录制文件;压缩加密步骤105,压缩并加密所述录制文件。
在此实施例中,信息写入步骤104中的输入信息可以为录制文件的标题、分类标签及说明文字,这样使得其他用户可以通过这些输入信息更便捷地了解录制文件的内容。压缩加密步骤105中进行压缩是为了使得录制文件占用的空间更小,更加适应上传和下载的需求,以减少用户的资费消耗。
图4是本发明另一个实施例的多媒体数据录制方法的流程图。在此实施例中,该方法至少包括步骤401至步骤409。
首先执行步骤401,录制开始。在录制开始后,执行步骤402,录制音频数据,并将录制的音频数据以编码形式写到临时文件,然后执行步骤403,判断是否达到停止录制的条件。若是,则执行步骤404,将临时文件中的编码后的音频数据写入到录制文件中;若否,则执行步骤405,判断是否有绘图动作。若有绘图动作,则将执行步骤406,将绘图动作转换为文本数据,记录绘图动作产生时的时间与开始时间的时间差值,将文本数据和时间差值均写入录制文件,然后回转到步骤403,继续进行是否达到停止录制条件的判定。若无绘图动作,则直接回转到步骤403,继续进行是否达到停止录制条件的判定。
在步骤404执行完毕后,可以依次执行步骤407、步骤408、步骤409。这三个步骤与信息写入步骤104和压缩加密步骤105一致,在此不做详述。
图5是本发明再一个实施例的多媒体数据录制方法的流程图。由图5可以看出,在压缩加密步骤105后,本发明的多媒体数据录制方法还可包括解密解压步骤501至动作显示步骤504。
在图5所示的实施例中,在压缩加密步骤105之后,执行解密解压步骤501,接收录制文件,对文件进行解密和解压。然后进入音频播放步骤502,提取音频数据并保存到第二临时文件,对音频数据进行解码播放,对音频进行播放时启动时钟,这样使得音频的播放和第一个绘制动作的显示同时开始。。随后执行动作排序步骤503,提取所有绘制动作,按所述相对时间差值进行升序排列。最终执行动作显示步骤504,每隔预设时间检测有无符合预设条件的所述绘制图形的动作,若有,则显示符合预设条件的所述绘制图形的动作。在本发明的其他实施例中,也可以在动作排序步骤503中启动时钟。
在此实施例中,预设条件可以为尚未被显示且实际时间差值大于或等于相对时间差值;所述实际时间差值可以指时钟启动时与当前时刻的时间差值。
在此实施例中,解密解压步骤501至动作显示步骤504其实是开始录制步骤101至压缩加密步骤105的一个反向操作,其目的是为了将已经上传到社交平台的压缩加密的录制文件解压缩解密,并按照录制顺序播放出来。
在此实施例中,动作显示步骤504的目的是将绘制动作按照录制时的顺序显示出来,配合着音频播放步骤502,能够更生动形象地表达用户的想法。
在本发明的一些实施例中,多媒体数据录制方法可以包括播放结束步骤:在检测到音频数据播放完毕时,停止对所述录制文件的操作。具体可以如图6所示。
在图6所示的实施例中,首先进行步骤601,开始播放录制文件。在播放开始后,进行步骤602,对录制文件进行解压解密。随后依次执行步骤603、步骤604,实现了对音频数据的解码播放,并在开始播放音频数据的同时启动时钟,在启动时钟后提取绘图动作的文本数据,按时间排序(可以是升序)。在步骤604后,执行步骤605,判断音频文件是否播放结束。若是,则执行步骤606,结束对录制文件的播放,此时音频文件播放结束时也就是本录制文件播放结束时;若否则执行步骤607,判断有无达到预设条件的动作未显示(或者说有无绘图动作到达应该被显示的时间却仍未被出来)。若有,则执行步骤608,将该绘图动作的文本数据转换成图形并显示于录制载体上,显示后返回到步骤605进行另一轮的判定。若无,则不执行显示,进入步骤609,时钟继续等待,并返回步骤605在此进行判定。在本发明的一些实施例中,在启动时钟后,也可以不进行音频文件是否播放结束的判断,而设定其他条件作为结束录制文件播放的判断条件,例如最后一个动作被显示或时钟走动时间到达预设值。
在本发明的其他实施例中,所述预设时间可以为10毫秒。
图7是本发明再一个实施例的多媒体数据录制方法的流程图。其表现的是客户端A向客户端B分享一个录制文件的过程。参照图6可以看出,分享过程如下。
首先在客户端A上进行步骤711,在应用程序上选择欲分享的录制文件和分享好友(客户端B)。然后将对应的录制文件和录制文件分享的相关信息发送至服务器。该相关信息包含分享对象信息(分享给客户端B),也可以包含录制时的输入信息,如录制文件的标题、分类标签及说明文字。
随后,在服务器中,执行步骤721,接收自客户端A上传的录制文件和相关信息,将其保存到数据库中,把录制文件保存到本地目录中。然后进行步骤722,查找客户端B的应用程序类型(如iOS版本、Android版本和windows版本),调用对应平台的推送接口,向客户端B推送有新消息的通知。该消息被推送到客户端B后,在客户端B执行步骤732,接收推送消息,客户端B所在的系统向用户发出有新消息的提示。随后进行步骤733,在用户收到提示打开App后,对App进行操作,使得客户端B向服务器发送查看消息的请求。随后,在服务器执行步骤723,服务器处理客户端B的查看请求,随后执行步骤724生成消息列表向客户端B发送。在客户端B依次执行步骤734及步骤735,接收消息列表,发现有新的录制文件消息后,向服务器发送下载录制文件的请求。服务器收到请求后,在服务器执行步骤725、步骤726,从数据库中提取已保存的录制文件,并向客户端B发送录制文件。随后,在客户端B执行步骤736,接收录制文件,存储在本地,使得用户可以从客户端B观看。观看的过程可以如步骤501至步骤504所述。
可以看出,步骤711在客户端A执行,步骤721至步骤726在服务器执行,步骤732至736在客户端B执行。通过三者的相互通信,实现了录制文件的分享过程。在本发明的其他实施例中,步骤711中的分享对象可以不限定为客户端B,而可以是面向某一用户群或全体用户,这样,用户群中的用户或全体用户均可以通过步骤732至736,从服务器获取到客户端A的用户分享的录制文件而进行观看。
需要理解的是,在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。