提供音频服务的方法及系统技术方案

技术编号:15791569 阅读:137 留言:0更新日期:2017-07-09 21:25
本申请公开了提供音频服务的方法及系统,其中所述方法包括:将移动终端的音频硬件抽象层Audio Hal中与调制解调器交互的逻辑部分分离出来得到移植Audio Hal;将所述移植Audio Hal打包成一个Audio Hal插件;将所述Audio Hal插件整合进PulseAudio音频服务得到新的PulseAudio音频服务,使得所述新的PulseAudio音频服务在启动后会自动调用所述Audio Hal插件;将所述新的PulseAudio音频服务用作所述移动终端的音频服务。本发明专利技术使PulseAudio能用在手机设备上,从而使手机的音频服务能兼具PulseAudio的优点。

【技术实现步骤摘要】
提供音频服务的方法及系统
本申请涉及电数字数据的处理领域,尤其涉及提供音频服务的方法及系统。
技术介绍
随着智能手机的兴起,手机已经成为人们日常生活中必不可少之物。当前的众多手机厂商大多采用基于ARM架构的硬件平台及Android手机操作系统。Android手机系统采用的音频服务是其自己实现的Audioflinger(Android音频服务的名称)。但是,基于现有的技术,Audioflinger只能运行在基于Bionic(函数库的名称)函数库的Android系统中。相对于其他主流的音频服务,其具有强制重采样、系统资源占用率高、延迟较高等明显缺陷。PulseAudio是一个跨平台的、具有网络工作功能的音频服务,它由freedesktop.org项目组开发(freedesktop.org是一个致力于Linux和其他类Unix上的X窗口系统的桌面环境之间的互操作性和基础技术共享的项目),它能够运行在Linux、BSD、MacOSX和Windows等操作系统上。然而,PulseAudio无法直接替代Android的AudioFlinger,因为手机厂商都会提供自己的AudioHal层,AudioHal层中有与电话相关的音频通路逻辑操作部分,PulseAudio无法跨过AudioHal层去控制调制解调器Modem,导致PulseAudio无法处理电话等操作。因此,在手机设备上实现一种更为高效、功能更多的音频服务,将可以很大地提高用户的使用体验。
技术实现思路
为了克服现有技术中存在的不足,本专利技术要解决的技术问题是提供一种提供音频服务的方法及系统,其使PulseAudio能用在手机设备上,在进行正常的播放录音操作的同时能够控制手机电话的逻辑处理。为解决上述技术问题,本专利技术的提供音频服务的方法,包括:将移动终端的音频硬件抽象层AudioHal中与调制解调器交互的逻辑部分分离出来得到移植AudioHal;将所述移植AudioHal打包成一个AudioHal插件;将所述AudioHal插件整合进PulseAudio音频服务得到新的PulseAudio音频服务,使得所述新的PulseAudio音频服务在启动后会自动调用所述AudioHal插件;将所述新的PulseAudio音频服务用作所述移动终端的音频服务。作为本专利技术所述方法的改进,所述将移动终端的音频硬件抽象层AudioHal中与调制解调器交互的逻辑部分分离出来得到移植AudioHal包括:裁掉移动终端AudioHal中的音频数据传输部分和音频通路控制部分,保留voice语音通话部分;将保留的voice语音通话部分中调用TinyAlsa库的接口函数全部替换成调用Alsalib库的接口函数;用glibc函数库重新编译经过前一步处理过的voice语音通话部分,得到移植AudioHal。作为本专利技术所述方法的另一种改进,所述方法还包括:所述新的PulseAudio音频服务向下调用标准的ALSA库。作为本专利技术所述方法的进一步改进,所述方法还包括:所述新的PulseAudio音频服务进一步向下调用ASOC层。作为本专利技术所述方法的再进一步的改进,所述方法还包括:所述新的PulseAudio音频服务进一步向下调用音频驱动器AudioDriver。为解决上述技术问题,本专利技术的提供音频服务的系统,包括:分离模块,用于将移动终端的音频硬件抽象层AudioHal中与调制解调器交互的逻辑部分分离出来得到移植AudioHal;打包模块,用于将所述移植AudioHal打包成一个AudioHal插件;整合模块,用于将所述AudioHal插件整合进PulseAudio音频服务得到新的PulseAudio音频服务,使得所述新的PulseAudio音频服务在启动后会自动调用所述AudioHal插件;使用模块,用于将所述新的PulseAudio音频服务用作所述移动终端的音频服务。作为本专利技术所述系统的改进,所述分离模块包括:剪裁子模块,用于裁掉移动终端AudioHal中的音频数据传输部分和音频通路控制部分,保留voice语音通话部分;替换子模块,用于将保留的voice语音通话部分中调用TinyAlsa库的接口函数全部替换成调用Alsalib库的接口函数;编译子模块,用于用glibc函数库重新编译经过前一步处理过的voice语音通话部分,得到移植AudioHal。作为本专利技术所述系统的另一种改进,所述系统还包括:第一调用模块,用于使得所述新的PulseAudio音频服务向下调用标准的ALSA库。作为本专利技术所述系统的进一步改进,所述系统还包括:第二调用模块,用于使得所述新的PulseAudio音频服务进一步向下调用ASOC层。作为本专利技术所述系统的再进一步改进,所述系统还包括:第三调用模块,用于使得所述新的PulseAudio音频服务进一步向下调用音频驱动器AudioDriver。为解决上述技术问题,本专利技术的有形计算机可读介质,包括用于执行上述提供音频服务的方法的计算机程序代码。为解决上述技术问题,本专利技术提供一种装置,包括至少一个处理器;及至少一个存储器,含有计算机程序代码,所述至少一个存储器和所述计算机程序代码被配置为利用所述至少一个处理器使得所述装置执行本专利技术的提供音频服务的方法的至少部分步骤。按照本专利技术,通过将AudioHal整合进PulseAudio,使PulseAudio可以间接操作Modem,从而使PulseAudio能够控制手机电话的逻辑处理。同时,PluseAudio仍然通过ALSA去向下操作硬件进行正常的播放录音操作。从而使PulseAudio能运行于手机设备上,实现一种更为高效、功能更多的音频服务,更好地提高用户的使用体验。结合附图阅读本专利技术实施方式的详细描述后,本专利技术的其它特点和优点将变得更加清楚。附图说明图1为根据本专利技术方法的一实施例的流程图。图2为根据本专利技术系统的一实施例的结构示意图。为清晰起见,这些附图均为示意性及简化的图,它们只给出了对于理解本专利技术所必要的细节,而省略其他细节。具体实施方式下面参照附图对本专利技术的实施方式和实施例进行详细说明。通过下面给出的详细描述,本专利技术的适用范围将显而易见。然而,应当理解,在详细描述和具体例子表明本专利技术优选实施例的同时,它们仅为说明目的给出。目前,Android手机的音频架构为:AudioFlinger音频服务向下调用AudioHal层(HAL的全称是HardwareAbstractionLayer,即硬件抽象层),AudioHal会用发送AT指令(AT为调制解调器命令语言)的方式和调制解调器Modem进行通信,同时AudioHal层会向下调用TinyAlsa(Googleaudio的函数库),之后向下调用ASOC框架(ALSASystemonChip(ALSA(AdvancedLinuxSoundArchitecture)指高级Linux声音架构)),最后调到AudioDriver层(音频驱动)。个人计算机上的音频架构为:pulseaudio音频服务向下调用alsa库,之后向下调用ASOC框架,最后调到AudioDriver。本专利技术提出采用一种基于ALSA框架的audio硬件平台支持,使用PulseAudio作为音频服务的解决方法。下面结合图本文档来自技高网...
提供音频服务的方法及系统

【技术保护点】
一种提供音频服务的方法,其特征在于,所述方法包括:将移动终端的音频硬件抽象层Audio Hal中与调制解调器交互的逻辑部分分离出来得到移植Audio Hal;将所述移植Audio Hal打包成一个Audio Hal插件;将所述Audio Hal插件整合进PulseAudio音频服务得到新的PulseAudio音频服务,使得所述新的PulseAudio音频服务在启动后会自动调用所述Audio Hal插件;将所述新的PulseAudio音频服务用作所述移动终端的音频服务。

【技术特征摘要】
1.一种提供音频服务的方法,其特征在于,所述方法包括:将移动终端的音频硬件抽象层AudioHal中与调制解调器交互的逻辑部分分离出来得到移植AudioHal;将所述移植AudioHal打包成一个AudioHal插件;将所述AudioHal插件整合进PulseAudio音频服务得到新的PulseAudio音频服务,使得所述新的PulseAudio音频服务在启动后会自动调用所述AudioHal插件;将所述新的PulseAudio音频服务用作所述移动终端的音频服务。2.根据权利要求1所述的方法,其特征在于,所述将移动终端的音频硬件抽象层AudioHal中与调制解调器交互的逻辑部分分离出来得到移植AudioHal包括:裁掉移动终端AudioHal中的音频数据传输部分和音频通路控制部分,保留voice语音通话部分;将保留的voice语音通话部分中调用TinyAlsa库的接口函数全部替换成调用Alsalib库的接口函数;用glibc函数库重新编译经过前一步处理过的voice语音通话部分,得到移植AudioHal。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:所述新的PulseAudio音频服务向下调用标准的ALSA库。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:所述新的PulseAudio音频服务进一步向下调用ASOC层。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:所述新的PulseAudio音频服务进一步向下调用音频驱动器AudioDriver。6.一种提供音频服务的系统,其特征在于...

【专利技术属性】
技术研发人员:张帅
申请(专利权)人:北京元心科技有限公司
类型:发明
国别省市:北京,11

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

1