一种模拟音频通道的模拟器及其实现方法技术

技术编号:11145534 阅读:97 留言:0更新日期:2015-03-13 11:42
本发明专利技术公开一种模拟音频通道的模拟器及其实现方法,其中,方法包括步骤:设置一包括模拟驱动及模拟UI模块的模拟器,所述模拟驱动提供给应用程序第一接口以及提供给模拟UI模块第二接口;所述模拟UI模块接收到设置插拔状态或读取音频通道状态的模拟动作指令后,通过第二接口写入至模拟驱动;所述应用程序通过所述第一接口从所述模拟驱动中读取所述模拟动作指令,并根据所述模拟动作指令进行相应的动作,实现对音频插拔设备或音频通道的模拟。本发明专利技术的模拟器即使被真实硬件替换,该模拟器与真实硬件的差别也可忽略,使得开发后的应用程序不需要在后期进行修改,从而提高了应用程序的开发效率。

【技术实现步骤摘要】

本专利技术涉及软件领域,尤其涉及一种模拟音频通道的模拟器及其实现方法
技术介绍
移动终端开发过程包括软件开发和硬件开发两个部分,而在每一款移动终端的初期开发阶段,由于硬件还未完全准备好,相关的软件就无法进行开发和调试,例如在音频插拔设备及音频通道还未完全准备好的情况下,其音频通道相关的软件就无法开发,导致现有技术中的移动终端开发效率大大降低。因此,现有技术还有待于改进和发展。
技术实现思路
鉴于上述现有技术的不足,本专利技术的目的在于提供一种模拟音频通道的模拟器及其实现方法,旨在解决现有的移动终端开发过程中音频通道相关的软件开发无法在软件程序上进行操作、开发效率低的问题。本专利技术的技术方案如下:一种模拟音频通道的模拟器实现方法,其中,包括步骤: 设置一包括模拟驱动及模拟UI模块的模拟器,所述模拟驱动提供给应用程序第一接口以及提供给模拟UI模块第二接口;所述模拟UI模块接收到设置插拔状态或读取音频通道状态的模拟动作指令后,通过第二接口写入至模拟驱动;所述应用程序通过所述第一接口从所述模拟驱动中读取所述模拟动作指令,并根据所述模拟动作指令进行相应的动作,实现对音频插拔设备或音频通道的模拟。一种采用如上所述的实现方法模拟音频通道的模拟器,其中,所述模拟器包括模拟驱动及模拟UI模块;所述模拟驱动,用于提供给应用程序第一接口以及提供给模拟UI模块第二接口;所述模拟UI模块,用于将接收到设置插拔状态或读取音频通道状态的的模拟动作指令通过第二接口写入至模拟驱动,所述应用程序通过所述第一接口从所述模拟驱动中读取所述模拟动作指令,并根据所述模拟动作指令进行相应的动作,实现对音频插拔设备或音频通道的模拟。所述模拟音频通道的模拟器,其中,所述模拟UI模块的实现模块包括音频插拔设备实现模块和音频通道实现模块。所述模拟音频通道的模拟器,其中,所述音频插拔设备实现模块包括:类封装模块,用于将模拟驱动需使用的系统调用封装到一个类中,以及定义需使用的成员函数和文件描述符。所述模拟音频通道的模拟器,其中,所述音频通道实现模块包括:对象创建模块,用于创建一个音频通道的对象,并用来处理当音频通道状态改变时显示在模拟UI模块上。所述模拟音频通道的模拟器,其中,所述音频通道实现模块还包括:开关状态读取模块,用于在构造函数中,打开音频通道对象的设备文件,然后监听该设备文件,若有数据可读,则使用系统调用读取音频通道的开关状态数据。所述模拟音频通道的模拟器,其中,采用析构函数关闭所述设备文件。有益效果:通过本专利技术的模拟器,应用程序的开发人员可以独立于实际的音频插拔设备或音频通道来进行软件开发,操作起来非常方便,并且模拟效果逼真,只需要保证第一接口与真实硬件中的第一接口的软件功能一致,即可保证应用程序在真实的音频通道中也可实现,所以本专利技术的模拟器即使被真实硬件替换,该模拟器与真实硬件的差别也可忽略,使得开发后的应用程序不需要在后期进行修改,从而提高了应用程序的开发效率。附图说明图1为本专利技术一种模拟音频通道的模拟器实现方法较佳实施例的流程图。图2为本专利技术一种模拟音频通道的模拟器较佳实施例的结构框图。图3为本专利技术一种模拟音频通道的模拟器另一较佳实施例的结构框图。图4为本专利技术模拟音频插拔状态的实际效果图。图5为本专利技术模拟音频通道的实际效果图。具体实施方式本专利技术提供一种模拟音频通道的模拟器及其实现方法,为使本专利技术的目的、技术方案及效果更加清楚、明确,以下对本专利技术进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术一种模拟音频通道的模拟器实现方法,如图1所示,包括步骤:S101、设置一包括模拟驱动及模拟UI模块的模拟器,所述模拟驱动提供给应用程序第一接口以及提供给模拟UI模块第二接口;S102、所述模拟UI模块接收到设置插拔状态或读取音频通道状态的模拟动作指令后,通过第二接口写入至模拟驱动;S103、所述应用程序通过所述第一接口从所述模拟驱动中读取所述模拟动作指令,并根据所述模拟动作指令进行相应的动作,实现对音频插拔设备或音频通道的模拟。本专利技术的模拟器实现方法是为了实现音频通道或音频插拔设备相关的应用程序能够在软件模拟器上进行调试和开发,从而提高开发效率。下面结合该模拟器对本专利技术进行详细的说明。请参阅图2和图3,其为本专利技术一种模拟音频通道的模拟器两个实施例的结构框图,如图所示,所述模拟器100包括:模拟驱动120及模拟UI模块110,所述模拟驱动120用于提供给应用程序130第一接口以及提供给模拟UI模块110第二接口,所述模拟UI模块110将接收到设置插拔状态或读取音频通道状态的模拟动作指令通过第二接口写入至模拟驱动120,所述应用程序130通过所述第一接口从所述模拟驱动120中读取模拟动作指令,并根据所述模拟动作指令进行相应的动作,实现对音频插拔设备或音频通道的模拟。音频通道的模拟主要分两大部分,一个是音频插拔设备的模拟,如耳机的插拔状态,另外一个是音频通道的模拟,如选择手机主体上的mic(麦克风)和speaker(扬声器)或者耳机上的mic和speaker。对于音频插拔设备,模拟UI模块将设置音频插拔状态的模拟动作指令写入模拟驱动,应用程序通过第一接口读取音频插拔状态。对于音频通道,模拟UI模块将读取音频通道状态的模拟动作指令写入模拟驱动,应用程序通过第一接口设置音频通道状态。由上面两个图可以看出,模拟音频通道的实现主要由模拟UI模块和模拟驱动两部分组成,其中模拟UI模块分音频插拔设备的模拟和音频通道的模拟两个部分,但是模拟驱动为同一个。本专利技术的第一接口与实际硬件上的接口的软件功能是一致的,所述第一接口是根据实际开发的软件来制定的,只要第一接口保持与实际硬件的接口一致,那么如果应用程序能运行在模拟器上,同样应用程序也能运行在实际的硬件上,从而实现模拟实际硬件的功能。模拟音频通道或音频插拔设备的驱动作为电子设备的输入设备的一种,整体上来说提供给应用程序标准的字符设备接口即可,只需提供基本的操作(主要是管理音频插拔状态和音频通道切换的信息)以便能够把音频插拔状态和通道的选择及时反馈给应用程序。而本专利技术中的第二接口则是可以根据需要进行修改的,原来驱动与硬件的连接以及沟通变为了模拟驱动与模拟UI模块的连接以及沟通,所以模拟驱动需要提供额外的接口给模拟UI模块,使模拟UI模块能够模拟出与实际硬件相似的效果。本专利技术模拟驱动所提供的接口包括获取当前的音频插拔状态接口、设置/获取音频输入/输出通道接口、在音频输出接口状态变化时获取信息接口、打开音频通道设备接口、关闭音频通道设备接口,对于获取当前的音频插拔状态接口,其ioctl命令:SNDSTAT_IOCTL_GETSTAT(值为0) :用于获取当前的音频输出接口信息,ioctl()的第3个参数是uns本文档来自技高网...
一种模拟音频通道的模拟器及其实现方法

【技术保护点】
一种模拟音频通道的模拟器实现方法,其特征在于,包括步骤: 设置一包括模拟驱动及模拟UI模块的模拟器,所述模拟驱动提供给应用程序第一接口以及提供给模拟UI模块第二接口;所述模拟UI模块接收到设置插拔状态或读取音频通道状态的模拟动作指令后,通过第二接口写入至模拟驱动;所述应用程序通过所述第一接口从所述模拟驱动中读取所述模拟动作指令,并根据所述模拟动作指令进行相应的动作,实现对音频插拔设备或音频通道的模拟。

【技术特征摘要】
1.一种模拟音频通道的模拟器实现方法,其特征在于,包括步骤: 
设置一包括模拟驱动及模拟UI模块的模拟器,所述模拟驱动提供给应用程序第一接口以及提供给模拟UI模块第二接口;
所述模拟UI模块接收到设置插拔状态或读取音频通道状态的模拟动作指令后,通过第二接口写入至模拟驱动;
所述应用程序通过所述第一接口从所述模拟驱动中读取所述模拟动作指令,并根据所述模拟动作指令进行相应的动作,实现对音频插拔设备或音频通道的模拟。
2.一种采用如权利要求1所述的实现方法模拟音频通道的模拟器,其特征在于,所述模拟器包括模拟驱动及模拟UI模块;
所述模拟驱动,用于提供给应用程序第一接口以及提供给模拟UI模块第二接口;
所述模拟UI模块,用于将接收到设置插拔状态或读取音频通道状态的的模拟动作指令通过第二接口写入至模拟驱动,所述应用程序通过所述第一接口从所述模拟驱动中读取所述模拟动作指令,并根据所述模拟动作指令进行相应的动作,实现对音频插拔设备或音频通道...

【专利技术属性】
技术研发人员:吴奇峰
申请(专利权)人:惠州TCL移动通信有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1