一种音乐教学APP操作方法及其实现系统与流程

文档序号:17446824发布日期:2019-04-17 05:46阅读:493来源:国知局
一种音乐教学APP操作方法及其实现系统与流程

本发明属于音乐教学技术领域,具体涉及一种音乐教学app操作方法及其实现系统。



背景技术:

随着近年来音乐教学的盛行,辅助音乐学习的工具(硬件/软件,pc/移动平台)也如雨后春笋般出现(例如iglove智能钢琴杆,以及与其配套的移动平台音乐教学app等)。

其中现有的移动平台音乐教学app存在着以下问题:

1、加载过大的音色库对于高性能的pc来说一般问题不大,但移动平台的性能往往不及pc,在加载过大音色库时会非常耗时,播放曲谱时也会因此导致卡顿现象发生。

2、现有的音乐教学app系统没有采用分层架构进行开发,在各个平台上往往自成一套体系,同一套软件在不同平台上甚至有着不同的展现效果。这样不利于软件在多平台上进行持续性的开发和维护。



技术实现要素:

本发明的目的在于提供一种音乐教学app操作方法及其实现系统,以解决上述背景技术中提出的问题;本发明提供的一种音乐教学app操作方法及其实现系统,具有提高曲谱加载速度和便于开发维护等特点。

为实现上述目的,本发明提供如下技术方案:一种音乐教学app操作方法。操作方法包括,

步骤一:应用层用户进行打开曲谱文件的操作;

步骤二:应用层根据用户操作调用相应接口层提供的接口,请求下位层对音乐教学用曲谱xml文件进行解析;

步骤三:接口层吸收不同移动平台间的差异,并将应用层发来的解析xml请求传递给服务层;

步骤四:服务层完成xml文件的解析,生成对应的曲谱pdf文件和对应的音频数据;

步骤五:服务层将解析结果与生成的pdf文件传回应用层;

步骤六:服务层将生成的音频数据发送给驱动层;

步骤七:应用层获取pdf文件后展示曲谱pdf,并根据用户操作通知下位层开始曲谱播放;

步骤八:驱动层根据上位层的播放指令进行曲谱播放。

在本发明中进一步地,所述应用层通过调用接口层的读取xml文件接口,将曲谱xml信息传入服务层,服务层开始解析曲谱。

在本发明中进一步地,服务层解析曲谱后生成曲谱pdf文件和音频数据,并将pdf文件信息传回应用层用于曲谱展示,将音频数据传给驱动层用于曲谱播放。

在本发明中进一步地,所述驱动层的内部设有监听器,通过监听器对实时播放的情况进行监听,并向应用层回传播放进度等信息。

在本发明中进一步地,应用层展示pdf文件后,通过调用设置监听器接口配置监听器,然后可以调用播放接口开始曲谱播放。

在本发明中进一步地,所述驱动层设置有播放状态接口,用于通知应用层当前的播放状态。

在本发明中进一步地,所述的一种音乐教学app操作方法的实现系统,实现系统包括:该系统采用分层架构,包括应用层、接口层、服务层、驱动层,其中,应用层负责ui交互,将用户的打开曲谱文件的操作指令传递到接口层,接口层吸收平台差异后将操作指令传递到服务层,服务层根据操作指令解析曲谱xml文件并生成相应的曲谱pdf文件和音频数据,并将曲谱pdf文件传回应用层,将音频数据传给驱动层,驱动层将音频数据播放进度实时回传给应用层,并在应用层的ui界面上进行曲谱pdf及播放进度的展示,且该系统基于移动平台。

在本发明中进一步地,所述移动平台包括android平台和ios平台,所述驱动层包括android音频驱动模块和ios音频驱动模块分别用于驱动android平台和ios平台下的音频设备。

在本发明中进一步地,所述应用层实现了不同移动平台下音乐教学app的ui界面,所述接口层为不同平台的应用层提供对应的服务层接口所述服务层主要由合成器、音序器、音乐对象类模块构成,其中,音序器用于对音频数据进行定位,并将期望播放的音频数据传给驱动层,合成器用于合成特定的声音。

在本发明中进一步地,所述合成器与音色库相连接,音色库为合成器提供多种乐器演奏效果,所述音色库包含钢琴音色、吉他音色等等的音色模块,将钢琴音色模块从所述音色库中提取出来生成独立的音色库,以加快软件对所述独立的音色库的加载。

与现有技术相比,本发明的有益效果是:

1、将钢琴音色模块抽取出来作为独立的音色库,实现了移动平台对音色库的快速加载,解决了播放过程中因为加载时间过长导致声音出现卡顿的问题。

2、通过抽象出接口层来吸收平台差异,实现不同平台应用层与同一服务层的交互;针对不同平台的app应用层提供类似的功能接口,统一下位层处理。将下位层的处理状态通过回调的方式通知给应用层,有利于上位层对下位层的状态监视。分层架构还有利于各层的独立调试,进而有利于app整体的持续维护与开发。

附图说明

图1为本发明的操作流程示意图;

图2为本发明的系统结构示意图;

图3为本发明的系统内部结构示意图;

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例

请参阅图1,其为本发明的操作流程示意图,为本发明提供以下技术方案:一种音乐教学app操作方法,操作方法包括,

步骤一:应用层用户进行打开曲谱文件的操作;

步骤二:应用层根据用户操作调用相应接口层提供的接口,请求下位层对音乐教学用曲谱xml文件进行解析;

步骤三:接口层吸收不同移动平台间的差异,并将应用层发来的解析xml请求传递给服务层;

步骤四:服务层完成xml文件的解析,生成对应的曲谱pdf文件和对应的音频数据;

步骤五:服务层将解析结果与生成的pdf文件传回应用层;

步骤六:服务层将生成的音频数据发送给驱动层;

步骤七:应用层获取pdf文件后展示曲谱pdf,并根据用户操作通知下位层开始曲谱播放;

步骤八:驱动层根据上位层的播放指令进行曲谱播放。

本实施例中驱动层分为初始化子模块,播放开始子模块,播放停止子模块和回调与处理子模块,初始化子模块负责对应驱动层的初始化工作:生成驱动对象,配置音频参数,分配缓冲空间,注册回调函数;播放开始子模块驱动硬件开始音频数据的播放,并在音频数据缓冲区空闲后调用回调函数来获取接下来需要播放的音频数据;播放停止子模块驱动硬件停止音频数据的播放,并停止调用回调函数;回调与处理子模块负责在播放过程中回调音序器的处理函数,从合成器获取下一帧待播放的音频数据,并压入播放缓冲队列等待硬件播放。

具体的,应用层通过调用接口层的读取xml文件接口,将曲谱xml信息传入服务层,服务层开始解析曲谱,本实施例中应用层通过调用读取xml文件接口,传入对应乐谱的xml信息,服务层会开始解析,服务层解析完毕后将解析结果通过读取xml文件接口对应的回调函数通知回应用层,将生成的音频数据传给驱动层。

具体的,服务层解析曲谱后生成曲谱pdf文件和音频数据,并将pdf文件信息传回应用层用于曲谱展示,将音频数据传给驱动层用于曲谱播放,本实施例中若读取xml文件成功的话,应用层可以调用导出曲谱pdf文件接口并等待回调信息,pdf文件若生成成功,导出曲谱pdf文件对应回调函数会被调用并将结果以及生成的pdf文件地址通知应用层,应用层展示pdf以后,可以通过调用设置监听器接口配置监听器回调函数,以准备播放曲谱。

具体的,驱动层的内部设有监听器,通过监听器对实时播放的情况进行监听,并向应用层回传播放进度等信息,本实施例中监听器设置完毕后可以通过调用设置播放状态接口,并传入开始播放参数来命令底层开始曲谱播放,驱动层开始播放后通过设置播放状态接口对应的回调函数通知上层播放已开始。

具体的,应用层展示pdf文件后,通过调用设置监听器接口配置监听器,然后可以调用播放接口开始曲谱播放,本实施例中播放过程中设置了监听器,会根据底层播放情况调用设置监听器接口对应的回调函数实时向应用层进行通知(播放到的音符坐标情报等等),应用层可根据回调信息进行相应的ui展示。

具体的,驱动层设置有播放状态接口,用于通知应用层当前的播放状态,本实施例中播放状态接口用于传入停止播放参数来命令底层停止曲谱播放,底层停止曲谱播放后通过设置播放状态接口回调函数通知上层播放已停止。

请参照图2,为本发明的系统结构示意图,配合参照图1,进一步地,本发明所述的一种音乐教学app操作方法的实现系统,该系统采用分层架构,包括应用层、接口层、服务层、驱动层,其中,应用层负责ui交互,将用户的打开曲谱文件的操作指令传递到接口层,接口层吸收平台差异后将操作指令传递到服务层,服务层根据操作指令解析曲谱xml文件并生成相应的曲谱pdf文件和音频数据,并将曲谱pdf文件传回应用层,将音频数据传给驱动层,驱动层将音频数据播放进度实时回传给应用层,并在应用层的ui界面上进行曲谱pdf及播放进度的展示,且该系统基于移动平台。

请参照图3,为本发明的系统内部结构示意图,配合参照图1和2,具体的,移动平台包括android平台和ios平台,驱动层包括android音频驱动模块和ios音频驱动模块分别用于驱动android平台和ios平台下的音频设备,本实施例中该app既可用于android客户端也可用于ios客户端,满足各类服务人群的需求。

具体的,应用层实现了不同移动平台下音乐教学app的ui界面,所述接口层为不同平台的应用层提供可以简单使用的服务层接口,服务层主要由合成器、音序器、音乐对象类模块构成,其中,音序器用于对音频数据进行定位,并将期望播放的音频数据传给驱动层,合成器用于合成特定的声音,本实施例中接口层针对不同平台下app应用层提供功能接口;将下位层的处理状态通过回调方法告知应用层。

具体的,合成器与音色库相连接,音色库为合成器提供多种乐器演奏效果,音色库包含钢琴音色、吉他音色等等的音色模块,将钢琴音色模块提取出来生成独立的音色库以加快音色库的加载,本实施例中音乐教学app是针对钢琴的教学,因此将音色库中钢琴音色进行单独抽出,并打包生成更为精简的音色库来使用,以此解决播放过程中可能发生的卡顿问题。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

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