The invention discloses a Android system which is based on synchronization of audio recording system and method, the system includes audio customized service subsystem and custom hardware abstraction audio subsystem, the original audio system audio customized service subsystem and audio subsystem are custom hardware abstraction independent of Android system; audio hardware abstraction system, used to call the underlying device driver for recording audio data recording and playback device, the driver calls the underlying to broadcast data for audio mixing; service subsystem for synchronous recording command receiving module to send applications, according to the synchronous recording command, control the audio hardware abstraction open device for recording and playback subsystem of equipment, read the audio recording of the audio subsystem number of custom hardware abstraction And mix it to get the mix data. When the audio synchronous recording and playing is performed, the time delay can reach below 50ms, and the requirements of synchronous recording and playing of audio can be satisfied.
【技术实现步骤摘要】
一种基于Android系统的音频同步录放系统及方法
本专利技术涉及通讯
,尤其涉及一种基于Android系统的音频同步录放系统及方法。
技术介绍
现有技术中Android系统的音频同步录放是建立在硬件混音或数字信号处理器(DigitalSignalProcessing,简称DSP)基础上实现的。Android平台开发的音频同步录放延时长的缺点基本是继承了Linux系统的先天不足。音频延迟的首要原因来自底层驱动,Android系统采用硬件抽象架构(HardwareAbstractionLayer,简称HAL)进行应用架构和驱动通信,最底层音频编译驱动仍基于Linux核心,绝大多数使用Linux内核中的高级Linux声音架构(AdvancedLinuxSoundArchitecture,简称ALSA)。ALSA本身就是比较臃肿,如图1所示,为LinuxALSA音频架构示意图。如图2所示,为Android2.3后的音频架构示意图,可以看出两种音频架构具有相似之处。采用Android音频原生架构,时间耗时主要在以下几个方面:Android臃肿的音频架构;Java层的数据处理;数据穿越过程(从原生层到Java层或从Java层到原生层)。采用原生架构,先用音频引擎把音频数据流提取到Java层,进行混音、音效等处理后,再通过音频播放将声音放出,发现同步录放延时基本超过了100ms,具有明显的延时。
技术实现思路
为了解决上述技术问题,本专利技术的实施例提供了一种基于Android系统的音频同步录放系统及方法,解决了现有技术中基于Android系统的原生音频系统存在高延 ...
【技术保护点】
一种基于Android系统的音频同步录放系统,其特征在于,包括:设置于Android系统的应用框架层中的音频定制服务子系统和音频定制硬件抽象子系统,其中,所述音频定制服务子系统和音频定制硬件抽象子系统均独立于Android系统的原生音频系统;所述音频定制硬件抽象子系统,用于调用底层的录音设备的驱动程序以进行音频数据的录制,以及,调用底层的放音设备的驱动程序以进行混音数据的播放;所述音频定制服务子系统,用于接收应用程序模块发送的同步录放命令,根据所述同步录放命令,控制所述音频定制硬件抽象子系统打开所述录音设备以及所述放音设备,读取所述音频定制硬件抽象子系统录制的音频数据并进行混音处理,得到混音数据。
【技术特征摘要】
1.一种基于Android系统的音频同步录放系统,其特征在于,包括:设置于Android系统的应用框架层中的音频定制服务子系统和音频定制硬件抽象子系统,其中,所述音频定制服务子系统和音频定制硬件抽象子系统均独立于Android系统的原生音频系统;所述音频定制硬件抽象子系统,用于调用底层的录音设备的驱动程序以进行音频数据的录制,以及,调用底层的放音设备的驱动程序以进行混音数据的播放;所述音频定制服务子系统,用于接收应用程序模块发送的同步录放命令,根据所述同步录放命令,控制所述音频定制硬件抽象子系统打开所述录音设备以及所述放音设备,读取所述音频定制硬件抽象子系统录制的音频数据并进行混音处理,得到混音数据。2.根据权利要求1所述的基于Android系统的音频同步录放系统,其特征在于,所述音频定制服务子系统包括:录音模块,用于根据所述同步录放命令,生成启动录音设备指令,指示所述音频定制硬件抽象子系统调用底层的录音设备进行音频数据的录制,并将所述音频数据缓存在录音缓存模块中;解码器,用于在当前已播放背景音乐时,解码背景音乐,并将解码得到的背景音乐数据缓存在背景音乐缓存模块中;混音模块,用于在当前已播放背景音乐时,读取所述录音缓存模块中的音频数据和所述背景音乐缓存模块中的背景音乐数据进行混音处理,生成混音数据;以及,在当前未播放背景音乐时,读取所述录音缓存模块中的音频数据和背景音乐缓存模块中预存的静音数据进行混音处理,生成混音数据;将所述混音数据缓存在混音缓存模块中;放音模块,用于根据所述同步录放命令,生成启动放音设备指令,指示所述音频定制硬件抽象子系统调用底层的放音设备进行所述混音数据的播放。3.根据权利要求1所述的基于Android系统的音频同步录放系统,其特征在于,所述音频同步录放系统还包括:音频定制Java接口和音频定制原生结构模块,其中,所述音频定制Java接口和音频定制原生结构模块均运行于Android系统的应用框架层;音频定制Java接口,用于提供应用程序模块与音频定制原生结构模块之间的程序编程的接口;音频定制原生结构模块,用于作为Binder客户端,与作为Binder服务端的音频定制服务子系统进行Binder通信,提供音频定制Java接口与所述音频定制服务子系统之间的对接。...
【专利技术属性】
技术研发人员:金志涛,
申请(专利权)人:中兴通讯股份有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。