本发明专利技术实施例公开了一种终端的麦克风的数据处理方法和具有麦克风的终端,涉及移动终端技术领域,用以解决现有技术中当有应用正在调用麦克风时,其他应用无法开启录音功能的问题。所述终端包含与麦克风通信的数据发送端口以及与所述数据发送端口具有一对多映射关系的数据接收端口,所述方法包括:在麦克风被第一应用调用时,接收第二应用发出的录音开启指令,从未被占用的数据接收端口中为所述第二应用分配一个数据接收端口,通过所述数据发送端口获取由所述麦克风采集到的录音数据,并广播所采集的录音数据,通过为第二应用分配的数据接收端口接收广播的录音数据,并将所接收的录音数据返回给第二应用。
【技术实现步骤摘要】
一种终端的麦克风的数据处理方法和具有麦克风的终端
本专利技术涉及移动终端
,尤其涉及一种终端的麦克风的数据处理方法和具有麦克风的终端。
技术介绍
在移动互联网时代,随着智能终端的推广和普及,终端的录音功能愈来愈智能化。例如在Android系统中,录音机,语音识别,语音搜索,视频通话等应用都会用到麦克风的录音功能。参考图1所示,现有技术中应用获取录音的过程主要包括以下几个模块:应用(Application)、操作系统的录音模块、硬件抽象层(HAL)、录音硬件部分(Hardware)(包括麦克风和DSP等,为了便于描述以下都用麦克风代替录音硬件部分进行简单说明)。其中,应用包括录音机、语音输入、语音搜索等需要录制声音的应用,应用开启录音功能;操作系统的录音模块属于Android操作系统,包括Framework应用框架,用于传递录音开启命令和录音数据;HAL是位于操作系统内核(Linux内核驱动)与上层录音模块之间的接口层,其目的在于将硬件抽象化;麦克风用于根据录音开启命令采集录音数据。具体的操作系统包括:Java接口、JNI接口(C++与Java之间的接口)、AudioRecord.cpp(Android录音代码)、C++录音框架(AudioRecordThread)等。现有技术应用获取录音的方式有两种,一种是通过Java接口的MediaRecorder(Android框架中的类)方式获取到编码过的数据(如录音机,录像等应用),另一种是通过Java接口的AudioRecord(Android框架中的类)获取原始的数据(如语音识别,语音指令,语音搜索,视频通话,语音输入法等应用)。两种方式的差别在上述的录音过程的Java接口->JNI(C++与Java之间的接口)->录音框架部分。方式一是MediaRecorder方式,具体为:应用->MediaRecorder(java)->MediaRecorder(JNI)->编码部分(StagefrightRecorder)->AudioRecord.cpp->AudioRecordThread->HAL->麦克风。方式二是AudioRecord方式,具体为:应用->AudioRecord(java)->AudioRecord(JNI)->AudioRecord.cpp->AudioRecordThread->HAL->麦克风。应用程序各式各样,每个应用可能会有不同的需求,因而会设置不同的录音参数等。相应的录音参数会通过上述过程传递给麦克风,当麦克风收到录音开启指令之后,会按照应用下达的录音参数开启,然后将采集到的录音数据按照与上述顺序相反的顺序从麦克风传输至应用。当麦克风正以一应用设置的固定录音参数运行采集录音数据的过程中,如果有第二个应用要开启录音功能,这时为防止参数冲突,会阻止第二个应用开启录音功能,操作系统将会报错,第二个应用无法开启录音功能,以至于无法获取麦克风的录音数据。
技术实现思路
本专利技术的实施例提供一种终端的麦克风的数据处理方法和具有麦克风的终端,用以解决现有技术中当有应用正在调用麦克风时,其他应用无法开启录音功能的问题。为达到上述目的,本专利技术的实施例采用如下技术方案:第一方面、本专利技术实施例提供了一种终端的麦克风的数据处理方法,所述终端包含与麦克风通信的数据发送端口以及与所述数据发送端口具有一对多映射关系的数据接收端口,所述方法包括:在麦克风被第一应用调用时,接收第二应用发出的录音开启指令,从未被占用的数据接收端口中为所述第二应用分配一个数据接收端口,通过所述数据发送端口获取由所述麦克风采集到的录音数据,并广播所采集的录音数据,通过为第二应用分配的数据接收端口接收广播的录音数据,并将所接收的录音数据返回给第二应用。第二方面、本专利技术实施例提供了一种具有麦克风的终端,所述终端包括:录音模块,所述录音模块与麦克风连接,包括与麦克风通信的数据发送端口以及与所述数据发送端口具有一对多映射关系的数据接收端口;所述录音模块,用于在麦克风被第一应用调用时,接收第二应用发出的录音开启指令,从未被占用的数据接收端口中为所述第二应用分配一个数据接收端口,通过所述数据发送端口获取由所述麦克风采集到的录音数据,并广播所采集的录音数据,通过为第二应用分配的数据接收端口接收广播的录音数据,并将所接收的录音数据返回给第二应用。本专利技术实施例提供了一种终端的麦克风的数据处理方法和具有麦克风的终端,通过在操作系统的录音模块中增加一个数据发送端口和N个数据接收端口,使得当在麦克风被第一应用调用时,终端接收第二应用发出的录音开启指令,从未被占用的数据接收端口中为所述第二应用分配一个数据接收端口,通过所述数据发送端口获取由所述麦克风采集到的录音数据,并广播所采集的录音数据,通过为第二应用分配的数据接收端口接收广播的录音数据,并将所接收的录音数据返回给第二应用。也就是当第一应用正在调用麦克风,使用录音功能获取录音数据时,第二应用开启了录音功能,终端通过为第二应用分配一个数据接收端口,然后通过数据发送端口数据接收端口等获得录音数据发回给第二应用。这样通过类似于网络服务的方式来实现数据重用,从而解决了现有技术中当有应用正在调用麦克风时,其他应用无法开启录音功能的问题。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为现有技术提供的一种应用开启录音功能并获取录音数据的框架图;图2为本专利技术实施例提供的一种应用开启录音功能并获取录音数据的框架图;图3为本专利技术实施例提供的一种终端的麦克风的数据处理方法的流程图;图4为本专利技术实施例提供的一种具有麦克风的终端的框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本专利技术实施例中字符“/”,一般表示前后关联对象是一种“或”的关系。为了便于清楚描述本专利技术实施例的技术方案,在本专利技术的实施例中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本专利技术的描述中,除非另有说明,“多个”的含义是两个或两个以上。本专利技术实施例中“多个应用同时开启录音功能”的含义可以是多个应用同一时间开启录音功能,也可以是在至少一个应用开启录音功能且未关闭录音功能之前,又有其他应用开启了录音功能。应用调用麦克风就是指应用开启录音功能。本专利技术实施例的工作原理在于修改JNI本文档来自技高网...
【技术保护点】
一种终端的麦克风的数据处理方法,其特征在于,所述终端包含与麦克风通信的数据发送端口以及与所述数据发送端口具有一对多映射关系的数据接收端口,所述方法包括:在麦克风被第一应用调用时,接收第二应用发出的录音开启指令,从未被占用的数据接收端口中为所述第二应用分配一个数据接收端口,通过所述数据发送端口获取由所述麦克风采集到的录音数据,并广播所采集的录音数据,通过为所述第二应用分配的数据接收端口接收广播的录音数据,并将所接收的录音数据返回给所述第二应用。
【技术特征摘要】
1.一种终端的麦克风的数据处理方法,其特征在于,所述终端包含与麦克风通信的数据发送端口以及与所述数据发送端口具有一对多映射关系的数据接收端口,所述方法包括:在麦克风被第一应用调用时,接收第二应用发出的录音开启指令,从未被占用的数据接收端口中为所述第二应用分配一个数据接收端口,通过所述数据发送端口获取由所述麦克风采集到的录音数据,并广播所采集的录音数据,通过为所述第二应用分配的数据接收端口接收广播的录音数据,并将所接收的录音数据返回给所述第二应用。2.根据权利要求1所述的方法,其特征在于,所述录音开启指令包括所述第二应用所需的录音参数,所述录音参数包括下述的一种或多种:采样率,声道数,和录音格式。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:在将所接收的录音数据返回给所述第二应用之前,将由所述麦克风采集到的录音数据按照所述第二应用所需的录音参数进行转换处理。4.根据权利要求1所述的方法,其特征在于,所述第一应用分配有另外一个对应的数据接收端口。5.根据权利要求1所述的方法,其特征在于,所述数据发送端口和数据接收端口之间根据用户数据报协议UDP进行通信。6.一种具有麦克风的...
【专利技术属性】
技术研发人员:耿炳钰,安亮,郑伟波,
申请(专利权)人:青岛海信移动通信技术股份有限公司,
类型:发明
国别省市:山东,37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。