CN109032559A - 一种多应用共享同一录音设备的配置方法及系统 - Google Patents
一种多应用共享同一录音设备的配置方法及系统 Download PDFInfo
- Publication number
- CN109032559A CN109032559A CN201810826149.3A CN201810826149A CN109032559A CN 109032559 A CN109032559 A CN 109032559A CN 201810826149 A CN201810826149 A CN 201810826149A CN 109032559 A CN109032559 A CN 109032559A
- Authority
- CN
- China
- Prior art keywords
- outfit
- sound pick
- layer
- interface
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/162—Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/165—Management of the audio stream, e.g. setting of volume, audio stream path
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明公开了一种多应用共享同一录音设备的配置方法及系统,所述方法包括在系统的硬件抽象接口层配置标准录音接口和虚拟录音接口;在系统的硬件抽象接口层与驱动层之间增设一用于为多个接口调用同一录音设备建立映射关系的代理层,建立所述标准录音接口与所述虚拟录音接口的映射关系;将所述代理层映射到所述驱动层的录音设备驱动,以开启录音设备。本发明通过特定声音源启动远场语音,并对同一录音设备在硬件抽象接口层虚拟出两个对应接口,以通过代理层映射到同一设备,实现支持至少两个录音会话共同运行。
Description
技术领域
本发明涉及语音识别技术领域,特别涉及一种多应用共享同一录音设备的配置方法及系统。
背景技术
现今,语音识别功能已成为众多智能设备的标配,例如智能电视、智能盒子等。随着技术的发展,不仅语言处理能力越来越智能,用户的使用方式也发生了巨大的变化。从最初的蓝牙语音遥控器逐渐进化到现今的阵列麦克风(arraymic)。
蓝牙语音遥控器只支持近距离语音采集(近场语音),用户通过触发遥控器的语音键发出指令,从而让智能设备做出反应。阵列麦克风是支持远距离语音采集(远场语音)的设备,用户只要在距离麦克风的一定距离内喊出唤醒关键字,后台识别引擎立即进入拾音状态并做出反应。这一过程,不仅是省去了“按键”这一环节,更是让整个交互过程更自然舒适。
为了支持远场语音,阵列麦克风需要一直开启录音,此时其他需要使用麦克风的应用将无法正常打开设备。在现有的系统框架下,为了解决这一问题,只能通过一端释放、另一端使用的原则解决:即其他应用在使用麦克风前需要申请权限,远场语音收到申请后释放设备,其他应用在收到设备释放的消息后再打开设备,待使用完毕后通知远场语音重新启动。其虽然能解决阵列麦克风被远场语音占用时无法被其他应用使用的场景,但仍然存在一些问题:
1.在其他占用阵列麦克风的应用使用过程中,远场语音将无法正常使用,影响交互体验;
2.所有需要使用麦克风的应用都需要遵循申请-释放原则重新进行适配,极大增加了维护成本。
因此,现有技术还有待改进和提高。
发明内容
鉴于上述现有技术的不足之处,本发明的目的在于提供一种多应用共享同一录音设备的配置方法及系统,旨在使得多应用能同时使用同一录音设备,既不需要其他使用阵列麦克风的应用重新进行适配,又不影响远场语音和它们之间的交互,节省维护开发成本,方便用户。
本发明解决上述技术问题所采用的技术方案如下:
本发明提供一种多应用共享同一录音设备的配置方法,所述多应用共享同一录音设备的配置方法包括:
在系统的硬件抽象接口层配置标准录音接口和虚拟录音接口;
在系统的硬件抽象接口层与驱动层之间增设一用于为多个接口调用同一录音设备建立映射关系的代理层,建立所述标准录音接口与所述虚拟录音接口的映射关系;
将所述代理层映射到所述驱动层的录音设备驱动,以开启录音设备。
所述的多应用共享同一录音设备的配置方法还包括:
在系统的系统架构层配置一用于唯一标识录音设备的ID阵列列表;
在系统的系统架构层的音频策略文件中增设标准录音设备和虚拟录音设备,以分别一一映射于所述标准录音接口和所述虚拟录音接口。
所述多应用共享同一录音设备的配置方法还包括:
在所述标准录音接口增设一特定的声音源,以供第一应用唯一使用。
所述多应用共享同一录音设备的配置方法还包括:
系统的应用层根据当前接收到的声音源集群确定录音程序适配的设备;
当录音程序适配的设备是标准录音设备时,调用标准录音接口并根据映射关系调用录音设备的驱动以驱动所述录音设备读取语音数据后进入语音唤醒流程或语音识别流程;
当录音程序适配的设备是虚拟录音设备时,调用虚拟录音接口并根据映射关系调用同一录音设备的驱动以驱动所述录音设备读取语音数据。
其中,所述系统的应用层根据当前接收到的声音源集群确定录音程序适配的设备具体包括:
应用层接收到若干个声音源后启动录音程序,并获取ID阵列列表;
当所述声音源为第一应用使用的声音源时,查看当前录音程序适配的设备的标识是否与所述ID阵列列表一致,当是时,配置所述适配的设备为标准录音设备;
当所述声音源为第二应用使用的声音源时,根据设备优先级选择适配的设备,当所适配的设备的标识存在于所述ID阵列列表中,则配置所述适配的设备为虚拟录音设备。
其中,所述当录音程序适配的设备是标准录音设备时,调用标准录音接口并根据映射关系调用录音设备的驱动以驱动所述录音设备读取语音数据后进入语音唤醒流程或语音识别流程具体包括:
当录音程序适配的设备是标准录音设备时,调用硬件抽象接口层的标准录音接口;
根据所述映射关系,通过调用代理层的打开接口去开启录音设备;
若检测到所述录音设备已开启,则通过所述打开接口复用所述录音设备的开关并进行标记;
当录音设备启动成功后,通过调用代理层的标准读取接口读取语音数据,并进入语音唤醒流程或语音识别流程。
其中,所述当录音程序适配的设备是虚拟录音设备时,调用虚拟录音接口并根据映射关系调用同一录音设备的驱动以驱动所述录音设备读取语音数据具体包括:
当录音程序适配的设备是虚拟录音设备时,调用硬件抽象接口层的虚拟录音接口;
根据所述映射关系,通过调用代理层的打开接口去开启同一录音设备;
若检测到所述录音设备已开启,则通过所述打开接口复用所述录音设备的开关并进行标记;
录音设备启动成功后,通过调用代理层的虚拟读取接口读取语音数据。
本发明还提供一种通过上述所述的多应用共享同一录音设备的配置方法配置的多应用共享同一录音设备的系统,所述多应用共享同一录音设备的系统包括:
依次由上至下的应用层、系统架构层、硬件抽象接口层、代理层以及驱动层;
应用层的第一应用启动后,通过调用系统架构层的标准录音设备映射的硬件抽象接口层的标准录音接口,在代理层建立的映射关系下调用驱动层的录音设备的驱动;
应用层的第二应用启动后,通过调用系统结构层的虚拟录音设备映射的硬件抽象接口层的虚拟录音接口,在代理层建立的映射关系下调用驱动层的同一录音设备的驱动。
其中,所述应用层的第一应用启动后,通过调用系统架构层的标准录音设备映射的硬件抽象接口层的标准录音接口,在代理层建立的映射关系下调用驱动层的录音设备的驱动具体包括:
启动应用层的第一应用,调用系统架构层的标准录音设备映射的硬件抽象接口层的标准录音接口;
根据获取的所述映射关系,通过调用代理层的打开接口去开启录音设备;
若检测到所述录音设备已开启,则通过所述打开接口复用所述录音设备的开关并进行标记;
当录音设备启动成功后,通过调用代理层的标准读取接口读取语音数据,并进入语音唤醒流程或语音识别流程。
其中,所述应用层的第二应用启动后,通过调用系统结构层的虚拟录音设备映射的硬件抽象接口层的虚拟录音接口,在代理层建立的映射关系下调用驱动层的同一录音设备的驱动具体包括:
启动应用层的第二应用,调用系统结构层的虚拟录音设备映射的硬件抽象接口层的虚拟录音接口;
根据获取的所述映射关系,通过调用代理层的打开接口去开启同一录音设备;
若检测到所述录音设备已开启,则通过所述打开接口复用所述录音设备的开关并进行标记;
录音设备启动成功后,通过调用代理层的虚拟读取接口读取语音数据。
本发明公开了一种多应用共享同一录音设备的配置方法及系统,具有以下优点:
通过在同一录音设备虚拟出两个硬件接口,即标准录音接口和虚拟录音接口,并通过增设的代理层以使标准录音接口与虚拟录音接口映射到同一录音设备,从而调用同一录音设备驱动,实现多个应用能够同时使用同一录音设备,既不需要其他使用阵列麦克风的应用重新进行适配,又不影响远场语音和它们之间的交互,节省维护开发成本,方便用户。
附图说明
图1是本发明实施例公开的多应用共享同一录音设备的配置方法流程图;
图2是本发明实施例公开的远场语音使用录音设备的流程图;
图3是本发明实施例公开的除远场语音外的其他应用使用录音设备的流程图;
图4是本发明实施例公开的多应用共享同一录音设备的系统架构图。
具体实施方式
下面结合说明书附图对本发明的具体实现方式做一详细描述。所举实例仅用于解释本发明,并非用于限定本发明的范围。
实施例一
请参照图1和图4,图1示例了本发明实施例公开一种多应用共享同一录音设备的配置方法的流程图,图4示例了本发明公开的一种多应用共享同一录音设备的系统的架构图,如图1所示,所述多应用共享同一录音设备的配置方法包括:
S10, 在系统的硬件抽象接口层配置标准录音接口和虚拟录音接口。
S20, 在系统的硬件抽象接口层与驱动层之间增设一用于为多个接口调用同一录音设备建立映射关系的代理层,建立所述标准录音接口与所述虚拟录音接口的映射关系。
S30, 将所述代理层映射到所述驱动层的录音设备驱动,以开启录音设备。
具体地,在android系统中,设备与接口存在一一对应原则,即每一个录音设备节点都有其唯一对应的硬件标准接口库,而设备与接口的映射关系配置在音频相关的策略文件中。因此,在本发明实施方案中,为实现多应用使用同一录音设备的目的,android系统的层次架构的系统架构层(framework layer)的音频策略文件中增设两个设备节点,即标准录音设备和虚拟录音设备,并且在硬件抽象接口层(HAL layer)新增两个接口,即标准录音接口和虚拟录音接口,以建立标准录音设备与标准录音接口、虚拟录音设备与虚拟录音接口的一一映射关系,也就是说,标准录音设备直接调用标准录音设备,虚拟录音设备直接调用虚拟录音接口。
优选的,每一个录音设备都有唯一的厂商ID标识和产品ID标识,所有适配的设备的厂商ID标识(vendor id,即VID)和产品ID标识(product id,即PID)均配置于系统属性中,配置成符合系统架构层规范的ID阵列列表,其中,所述ID阵列列表包括厂商ID标识和产品ID标识,所述厂商ID标识和所述产品ID标识唯一确定对应的设备。
在本发明实施例中,上述标准录音设备指的是阵列麦克风设备(arraymicdevice),用于远距离采集语音数据的设备,实现远场语音功能应用,其对应的硬件接口库为标准录音接口,也即阵列麦克接口(arraymic hal);上述虚拟录音设备指的是虚拟麦克设备(virtualmic device),用于为多应用使用录音程序而虚拟出的适配设备,其对应的硬件接口库为虚拟录音接口,也即虚拟麦克接口(virtualmic hal)。
进一步地,传统的android系统中,直接通过硬件抽象接口层的接口调用驱动层(driver layer)的设备驱动,即硬件抽象接口层与驱动层直接映射,但不能实现多个硬件接口共用同一驱动的目的。为此,本发明进行改进,在硬件抽象接口层与驱动层之间增设一代理层(proxy layer),建立所述标准录音接口与所述虚拟录音接口的映射关系,即不管是调用标准录音接口还是调用虚拟录音接口,均映射到同一录音设备,即通过代理层共用同一设备的驱动,以实现多个应用共同使用同一个阵列麦克风的功能,且不会影响到其他的语音设备。
优选的,本发明增设的代理层的主要功能是复用打开设备的开关并进行数据拷贝,分别供硬件抽象接口层的标准录音接口和虚拟录音接口调用,所述代理层包括4个接口,分别为打开接口、标准读取接口、虚拟读取接口以及关闭接口,如下说明上述4个接口的功能及应用:
打开接口(open):如果设备处于关闭状态,则正常打开,并记录当前的hal标志位;如果设备已经打开,则复用之前的打开开关,并记录当前的hal标志位。
标准读取接口(arraymic_read):从设备读取的数据中拷贝一份,经过降噪、回声消除、语音增强等一系列语音处理算法后提供给标准录音接口(arraymic hal,也即阵列麦克接口库)使用。
虚拟读取接口(virtualmic_read): 从设备读取的数据中拷贝一份提供给虚拟录音接口(virtualmic hal,也即虚拟麦克接口库)使用。
关闭接口(close):如果当前还有另一个hal正在使用该设备,则不关闭;如果当前已经没有其他hal还在使用,则关闭设备。
在本发明实施例中,多应用包括第一应用和第二应用,所述第一应用指的是远场语音功能应用,所述第二应用指的是除远场语音功能应用外的应用程序,即根据实际需求需要启动录音程序的应用,可以为一个,也可以为多个。当有声音产生时,触发第一应用或第二应用启动,即检测到所述第一应用或第二应用占用录音程序时,下层系统架构层将决定上层应用层(application layer)选择哪一设备去实现录音。在传统android系统中,应用层只识别标准录音接口提供的有限的几个声音源(audio source,也即音频源),因此,本发明中,在所述标准录音接口增设一特定的声音源,仅供第一应用(远场语音功能应用)使用,其中,所述特定的声音源是对外不可见的声音源,唯一标识第一应用,可避免与第二应用冲突,导致第二应用的重新适配。
具体地,应用层根据当前接收到的声音源集群确定录音程序适配的设备,其中,所述声音源集群包括标准录音接口提供的若干个声音源,如唯一标识第一应用的对外不可见的声音源、符合HAL标准接口规范的标准声音源等。应用层接收到若干个声音源后启动录音程序,并获取存储的ID阵列列表,解析和检测接收到的声音源集群,得到两种情况:
1).当解析后的若干个声音源中有第一应用(远场语音)使用的声音源时,则查看当前录音程序可用的设备(即阵列麦克风设备)的厂商ID标识和产品ID标识是否与所述ID阵列列表一致,当是时,配置该设备为标准录音设备,即选择标准录音设备作为远场语音使用。
2). 当解析后的若干个声音源中有第二应用使用的声音源时,也就是说,解析后的声音源是供其他应用使用的,则根据系统的设备优先级策略选择适配的设备,当被选中的适配的设备的厂商ID标识和产品ID标识存在于所述ID阵列列表中,则配置该适配的设备为虚拟录音设备;当被选中的适配的设备的厂商ID标识和产品ID标识不存在于所述ID阵列列表中时,则调用该适配设备对应的标准设备流程。
通过上述声音源的检测区分及声音源与设备的映射关系,使得当检测到两个录音会话同时运行时,只要满足当前已经存在的录音会话的设备是标准录音设备和即将运行的录音会话的设备是虚拟录音设备的条件,则依然能够通过执行即将运行的录音会话操作,实现了支持至少两个录音会话共同运行,省去了应用使用录音设备均要遵循申请-释放原则重新进行适配的操作过程。
针对上述1)时,当录音程序适配的设备是标准录音设备时,即远场语音,调用标准录音接口并根据映射关系调用录音设备的驱动以驱动所述录音设备读取语音数据后进入语音唤醒流程或语音识别流程。
下述通过例1进行详细说明。
例1:图2示例了远场语音使用录音设备的流程图,如图2所示:
步骤S11,当应用层接收到的是特定的声音源,则远场语音启动,此时录音程序即刻启动。
步骤S12,系统根据这个特定的声音源,选择符合ID阵列列表中VID/PID所对应的适配的设备,即标准录音设备,也即阵列麦克风设备。如果没有找到符合ID阵列列表中VID/PID所对应的适配的设备时,则远场语音启动失败,继续执行步骤S11。
步骤S13,调用硬件抽象接口层的标准录音接口,根据设备与接口一一映射关系,通过调用代理层的打开接口去打开录音设备的开关,即开启录音设备,然后执行步骤S14;
步骤S14,检测所述录音设备是否开启,若是,则执行步骤S15;若否,则执行步骤S16;
步骤S15,通过所述打开接口复用所述录音设备的开关并进行标记,然后执行步骤S17;
步骤S16,打开该设备的开关,然后执行步骤S17。
步骤S17,通过标准读取接口读取语音数据,然后执行步骤S18;
步骤S18,进入语音唤醒流程或语音识别流程。
针对上述2)时,当录音程序适配的设备是虚拟录音设备时,调用虚拟录音接口并根据映射关系调用同一录音设备的驱动以驱动所述录音设备读取语音数据。
下述通过例2进行详细说明。
例2:图3示例了除远场语音外的其他应用使用录音设备的流程图,如图3所示:
步骤S31,其他应用启动录音程序时,先按照系统配置的优先级策略选择适配的设备,然后执行步骤S32;
步骤S32,判断选择的适配的设备VID/PID标识是否在ID阵列列表范围内,若是,执行步骤S33,若否,执行步骤S34;
步骤S33,将适配的设备设置成虚拟录音设备,并调用硬件抽象接口层的虚拟录音接口,然后执行步骤S35;
步骤S34,进入标准设备调用流程;
步骤S35,通过代理层映射到同一录音设备的映射关系,虚拟录音设备的HAL层通过调用代理层的打开接口去打开录音设备的开关,即开启录音设备,然后执行步骤S36。
步骤S36,检测所述录音设备是否开启,若是,则执行步骤S37;若否,则执行步骤S38;
步骤S37,通过所述打开接口复用所述录音设备的开关并进行标记,然后执行步骤S9;
步骤S38,打开该设备的开关,然后执行步骤S39;
步骤S39,通过虚拟读取接口读取语音数据。
实施例二
本发明还提供一种多应用共享同一录音设备的系统,用于通过上述多应用共享同一录音设备的配置方法配置实现,如图4所示,所述多应用共享同一录音设备的系统10包括:
依次由上至下的应用层1(application layer)、系统架构层2(framework layer)、硬件抽象接口层3(HAL layer, Hardware Abstraction Layer)、代理层4(proxy layer)以及驱动层5(driver layer)。
应用层1的第一应用启动后,通过调用系统架构层2的标准录音设备映射的硬件抽象接口层3的标准录音接口,在代理层4建立的映射关系下调用驱动层5的录音设备的驱动,具体如上述多应用共享同一录音设备的配置方法所述;
应用层1的第二应用启动后,通过调用系统结构层2的虚拟录音设备映射的硬件抽象接口层3的虚拟录音接口,在代理层4建立的映射关系下调用驱动层5的同一录音设备的驱动;具体如上述多应用共享同一录音设备的配置方法所述。
优选地,图4中的箭头表示箭头连接的前后端建立一一映射关系,如下将一一详细说明:
针对远场语音功能应用:
应用层1的远程语音功能应用与系统架构层2的阵列麦克设备一一对应(对应实施例一中的标准录音设备),阵列麦克设备与硬件抽象接口层3的阵列麦克接口一一对应(对应实施例一值的标准录音接口),阵列麦克接口通过代理层4映射到阵列设备,与驱动层5的阵列设备驱动间接对接。
针对其他应用:
应用层1的其他应用与系统架构层2的虚拟麦克设备或其他应用设备一一对应(所述虚拟麦克设备对应实施例一中的虚拟录音设备),虚拟麦克设备与硬件抽象接口层3的虚拟麦克接口一一对应(对应实施例一值的虚拟录音接口)或其他设备与硬件抽象接口层3的其他设备接口一一对应,虚拟麦克接口通过代理层4映射到与阵列麦克接口对应的同一台阵列设备,共用驱动层5的同一阵列设备驱动,其他设备接口直接与驱动层5的其他设备驱动直接对接。
基于图4中系统架构图,所述多应用共享同一录音设备的系统10通过实施例一所述多应用共享同一录音设备配置方法还用于实现:
启动应用层1的第一应用,调用系统架构层2的标准录音设备映射的硬件抽象接口层3的标准录音接口;
根据获取的所述映射关系,通过调用代理层4的打开接口去开启录音设备;
若检测到所述录音设备已开启,则通过所述打开接口复用所述录音设备的开关并进行标记;
当录音设备启动成功后,通过调用代理层4的标准读取接口读取语音数据,并进入语音唤醒流程或语音识别流程,具体如上述例1所述。
基于图4中系统架构图,所述多应用共享同一录音设备的系统通过实施例一所述多应用共享同一录音设备配置方法还用于实现:
启动应用层1的第二应用,调用系统结构层2的虚拟录音设备映射的硬件抽象接口层3的虚拟录音接口;
根据获取的所述映射关系,通过调用代理层4的打开接口去开启同一录音设备;
若检测到所述录音设备已开启,则通过所述打开接口复用所述录音设备的开关并进行标记;
录音设备启动成功后,通过调用代理层4的虚拟读取接口读取语音数据;具体如上述例2所述。
这样,上述系统通过将同一录音设备虚拟出的两个硬件接口,并通过代理层4映射到同一设备,使多个应用能够同时使用同一带录音设备,不会造成其他语音设备干扰,也不需要其他使用阵列麦克风的应用重新进行适配,降低开发维护成本,方便用户。
综上所述,本发明公开了一种多应用共享同一录音设备的配置方法及系统,所述多应用共享同一录音设备的配置方法包括在系统的硬件抽象接口层配置标准录音接口和虚拟录音接口;在系统的硬件抽象接口层与驱动层之间增设一用于为多个接口调用同一录音设备建立映射关系的代理层,建立所述标准录音接口与所述虚拟录音接口的映射关系;将所述代理层映射到所述驱动层的录音设备驱动,以开启录音设备。所述多应用共享同一录音设备的系统包括依次由上至下的应用层、系统结构层、硬件抽象接口层、代理层以及驱动层的5层系统架构。本发明旨在通过特定声音源启动远场语音,并对同一录音设备在硬件抽象接口层增设两个对应接口,以通过代理层映射到同一设备,实现支持至少两个录音会话共同运行。
当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述的程序可存储于一计算机可读取的存储介质中,所述程序在执行时可包括如上述各方法实施例的流程。其中所述的存储介质可为存储器、磁碟、光盘等。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (10)
1.一种多应用共享同一录音设备的配置方法,其特征在于,所述多应用共享同一录音设备的配置方法包括:
在系统的硬件抽象接口层配置标准录音接口和虚拟录音接口;
在系统的硬件抽象接口层与驱动层之间增设一用于为多个接口调用同一录音设备建立映射关系的代理层,建立所述标准录音接口与所述虚拟录音接口的映射关系;
将所述代理层映射到所述驱动层的录音设备驱动,以开启录音设备。
2.根据权利要求1所述的多应用共享同一录音设备的配置方法,其特征在于,所述多应用共享同一录音设备的配置方法还包括:
在系统的系统架构层配置一用于唯一标识录音设备的ID阵列列表;
在系统的系统架构层的音频策略文件中增设标准录音设备和虚拟录音设备,以分别一一映射于所述标准录音接口和所述虚拟录音接口。
3.根据权利要求1所述的多应用共享同一录音设备的配置方法,其特征在于,所述多应用共享同一录音设备的配置方法还包括:
在所述标准录音接口增设一特定的声音源,以供第一应用唯一使用。
4.根据权利要求2所述的多应用共享同一录音设备的配置方法,其特征在于,所述多应用共享同一录音设备的配置方法还包括:
系统的应用层根据当前接收到的声音源集群确定录音程序适配的设备;
当录音程序适配的设备是标准录音设备时,调用标准录音接口并根据映射关系调用录音设备的驱动以驱动所述录音设备读取语音数据后进入语音唤醒流程或语音识别流程;
当录音程序适配的设备是虚拟录音设备时,调用虚拟录音接口并根据映射关系调用同一录音设备的驱动以驱动所述录音设备读取语音数据。
5.根据权利要求4所述的多应用共享同一录音设备的配置方法,其特征在于,所述系统的应用层根据当前接收到的声音源集群确定录音程序适配的设备具体包括:
系统的应用层接收到若干个声音源后启动录音程序,并获取ID阵列列表;
当所述声音源为第一应用使用的声音源时,查看当前录音程序适配的设备的标识是否与所述ID阵列列表一致,当是时,配置所述适配的设备为标准录音设备;
当所述声音源为第二应用使用的声音源时,根据设备优先级选择适配的设备,当所适配的设备的标识存在于所述ID阵列列表中,则配置所述适配的设备为虚拟录音设备。
6.根据权利要求5所述的多应用共享同一录音设备的配置方法,其特征在于,所述当录音程序适配的设备是标准录音设备时,调用标准录音接口并根据映射关系调用录音设备的驱动以驱动所述录音设备读取语音数据后进入语音唤醒流程或语音识别流程具体包括:
当录音程序适配的设备是标准录音设备时,调用硬件抽象接口层的标准录音接口;
根据所述映射关系,通过调用代理层的打开接口去开启录音设备;
若检测到所述录音设备已开启,则通过所述打开接口复用所述录音设备的开关并进行标记;
当录音设备启动成功后,通过调用代理层的标准读取接口读取语音数据,并进入语音唤醒流程或语音识别流程。
7.根据权利要求5所述的多应用共享同一录音设备的配置方法,其特征在于,所述当录音程序适配的设备是虚拟录音设备时,调用虚拟录音接口并根据映射关系调用同一录音设备的驱动以驱动所述录音设备读取语音数据具体包括:
当录音程序适配的设备是虚拟录音设备时,调用硬件抽象接口层的虚拟录音接口;
根据所述映射关系,通过调用代理层的打开接口去开启同一录音设备;
若检测到所述录音设备已开启,则通过所述打开接口复用所述录音设备的开关并进行标记;
录音设备启动成功后,通过调用代理层的虚拟读取接口读取语音数据。
8.一种通过权利要求书1-7任一项所述的多应用共享同一录音设备的配置方法配置的多应用共享同一录音设备的系统,其特征在于,所述多应用共享同一录音设备的系统包括:
依次由上至下的应用层、系统架构层、硬件抽象接口层、代理层以及驱动层;
应用层的第一应用启动后,通过调用系统架构层的标准录音设备映射的硬件抽象接口层的标准录音接口,在代理层建立的映射关系下调用驱动层的录音设备的驱动;
应用层的第二应用启动后,通过调用系统结构层的虚拟录音设备映射的硬件抽象接口层的虚拟录音接口,在代理层建立的映射关系下调用驱动层的同一录音设备的驱动。
9.根据权利要求8所述的多应用共享同一录音设备的系统,其特征在于,所述应用层的第一应用启动后,通过调用系统架构层的标准录音设备映射的硬件抽象接口层的标准录音接口,在代理层建立的映射关系下调用驱动层的录音设备的驱动具体包括:
启动应用层的第一应用,调用系统架构层的标准录音设备映射的硬件抽象接口层的标准录音接口;
根据获取的所述映射关系,通过调用代理层的打开接口去开启录音设备;
若检测到所述录音设备已开启,则通过所述打开接口复用所述录音设备的开关并进行标记;
当录音设备启动成功后,通过调用代理层的标准读取接口读取语音数据,并进入语音唤醒流程或语音识别流程。
10.根据权利要求8所述的多应用共享同一录音设备的系统,其特征在于,所述应用层的第二应用启动后,通过调用系统结构层的虚拟录音设备映射的硬件抽象接口层的虚拟录音接口,在代理层建立的映射关系下调用驱动层的同一录音设备的驱动具体包括:
启动应用层的第二应用,调用系统结构层的虚拟录音设备映射的硬件抽象接口层的虚拟录音接口;
根据获取的所述映射关系,通过调用代理层的打开接口去开启同一录音设备;
若检测到所述录音设备已开启,则通过所述打开接口复用所述录音设备的开关并进行标记;
录音设备启动成功后,通过调用代理层的虚拟读取接口读取语音数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810826149.3A CN109032559B (zh) | 2018-07-25 | 2018-07-25 | 一种多应用共享同一录音设备的配置方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810826149.3A CN109032559B (zh) | 2018-07-25 | 2018-07-25 | 一种多应用共享同一录音设备的配置方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109032559A true CN109032559A (zh) | 2018-12-18 |
CN109032559B CN109032559B (zh) | 2021-06-01 |
Family
ID=64646028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810826149.3A Active CN109032559B (zh) | 2018-07-25 | 2018-07-25 | 一种多应用共享同一录音设备的配置方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109032559B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110097897A (zh) * | 2019-04-02 | 2019-08-06 | 烽火通信科技股份有限公司 | 一种Android设备录音复用方法及系统 |
CN110113494A (zh) * | 2019-05-05 | 2019-08-09 | Oppo广东移动通信有限公司 | 录音方法及相关装置 |
CN112099978A (zh) * | 2020-11-12 | 2020-12-18 | 南京创维信息技术研究院有限公司 | 位于硬件抽象层的通用唤醒识别算法管理装置及管理方法 |
CN112905243A (zh) * | 2019-11-15 | 2021-06-04 | 成都鼎桥通信技术有限公司 | 一种同时运行双系统的方法和装置 |
CN113377329A (zh) * | 2021-07-01 | 2021-09-10 | 安徽文香科技有限公司 | 一种虚拟音频设备、音频数据处理方法及装置 |
CN113535113A (zh) * | 2021-07-19 | 2021-10-22 | 上海月猫科技有限公司 | 一种音频共享方法、系统及存储介质 |
CN113660569A (zh) * | 2021-08-17 | 2021-11-16 | 上海月猫科技有限公司 | 一种基于高音质网红麦克风的共享音频技术 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104269185A (zh) * | 2014-09-09 | 2015-01-07 | 烽火通信科技股份有限公司 | 在Java虚拟机中实现混音播放的方法及系统 |
US20170339552A1 (en) * | 2016-05-20 | 2017-11-23 | Ibasis, Inc. | Voice Over IMS Roaming Gateway |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8607328B1 (en) * | 2005-03-04 | 2013-12-10 | David Hodges | Methods and systems for automated system support |
CN102857534B (zh) * | 2011-07-01 | 2015-05-20 | 天津米游科技有限公司 | 一种基于云计算的远程交互方法 |
CN103235736A (zh) * | 2013-03-27 | 2013-08-07 | 四川长虹电器股份有限公司 | 基于Android平台支持虚拟音频设备的方法及系统 |
BR112017018974A2 (pt) * | 2015-03-05 | 2018-05-22 | Pbc Ip Pty Ltd | ?método e sistema de compartilhamento de dados sem fio' |
CN106648921A (zh) * | 2016-09-30 | 2017-05-10 | 北京奇虎科技有限公司 | 一种实现安卓系统中共享录音数据的方法及电子设备 |
CN107369452B (zh) * | 2017-07-25 | 2020-11-03 | 上海闻泰电子科技有限公司 | 音频数据的处理方法及系统 |
-
2018
- 2018-07-25 CN CN201810826149.3A patent/CN109032559B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104269185A (zh) * | 2014-09-09 | 2015-01-07 | 烽火通信科技股份有限公司 | 在Java虚拟机中实现混音播放的方法及系统 |
US20170339552A1 (en) * | 2016-05-20 | 2017-11-23 | Ibasis, Inc. | Voice Over IMS Roaming Gateway |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110097897A (zh) * | 2019-04-02 | 2019-08-06 | 烽火通信科技股份有限公司 | 一种Android设备录音复用方法及系统 |
CN110097897B (zh) * | 2019-04-02 | 2021-02-26 | 烽火通信科技股份有限公司 | 一种Android设备录音复用方法及系统 |
CN110113494A (zh) * | 2019-05-05 | 2019-08-09 | Oppo广东移动通信有限公司 | 录音方法及相关装置 |
CN110113494B (zh) * | 2019-05-05 | 2021-01-29 | Oppo广东移动通信有限公司 | 录音方法及相关装置 |
CN112905243A (zh) * | 2019-11-15 | 2021-06-04 | 成都鼎桥通信技术有限公司 | 一种同时运行双系统的方法和装置 |
CN112905243B (zh) * | 2019-11-15 | 2022-05-13 | 成都鼎桥通信技术有限公司 | 一种同时运行双系统的方法和装置 |
CN112099978A (zh) * | 2020-11-12 | 2020-12-18 | 南京创维信息技术研究院有限公司 | 位于硬件抽象层的通用唤醒识别算法管理装置及管理方法 |
CN112099978B (zh) * | 2020-11-12 | 2021-03-23 | 南京创维信息技术研究院有限公司 | 一种位于硬件抽象层的通用唤醒识别算法管理装置及管理方法 |
CN113377329A (zh) * | 2021-07-01 | 2021-09-10 | 安徽文香科技有限公司 | 一种虚拟音频设备、音频数据处理方法及装置 |
CN113377329B (zh) * | 2021-07-01 | 2024-04-26 | 安徽文香科技股份有限公司 | 一种虚拟音频设备、音频数据处理方法及装置 |
CN113535113A (zh) * | 2021-07-19 | 2021-10-22 | 上海月猫科技有限公司 | 一种音频共享方法、系统及存储介质 |
CN113660569A (zh) * | 2021-08-17 | 2021-11-16 | 上海月猫科技有限公司 | 一种基于高音质网红麦克风的共享音频技术 |
Also Published As
Publication number | Publication date |
---|---|
CN109032559B (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109032559A (zh) | 一种多应用共享同一录音设备的配置方法及系统 | |
CN109240107B (zh) | 一种电器设备的控制方法、装置、电器设备和介质 | |
JP2019040603A (ja) | 音楽推薦方法、装置、設備及びプログラム | |
CN105378646B (zh) | 多种同时音频模式的方法与设备 | |
CN109192208A (zh) | 一种电器设备的控制方法、系统、装置、设备及介质 | |
CN104267924A (zh) | 一种移动终端的音频处理方法及移动终端 | |
CN107329843A (zh) | 应用程序语音控制方法、装置、设备以及存储介质 | |
CN112017650B (zh) | 电子设备的语音控制方法、装置、计算机设备和存储介质 | |
CN106528133B (zh) | 一种应用于多系统的设备请求处理方法及装置 | |
CN102427465A (zh) | 语音服务代理方法及装置、通过代理集成语音应用的系统 | |
CN109545211A (zh) | 语音交互方法及系统 | |
CN107948566A (zh) | 实现即插即用传屏的方法及装置 | |
JP2007074710A (ja) | オーディオ・ビジュアルデータ通信システム、オーディオ・ビジュアルデータ通信方法、オーディオ・ビジュアルデータ通信プログラム及びオーディオ・ビジュアルデータ通信システム用の鑑賞空間切替装置 | |
CN113050910B (zh) | 语音交互方法、装置、设备及存储介质 | |
CN113765903B (zh) | 投屏方法及相关装置、电子设备、存储介质 | |
WO2018117660A1 (en) | Security enhanced speech recognition method and device | |
CN111833857B (zh) | 语音处理方法、装置和分布式系统 | |
CN105979371A (zh) | 获取音视频信息的方法及系统 | |
JP7053693B2 (ja) | 音声スキルの終了方法、装置、デバイスおよび記憶媒体 | |
CN103310815B (zh) | 再现装置和再现装置的控制方法 | |
CN106878284A (zh) | 多系统中媒体播放功能的控制方法及装置 | |
CN101490650B (zh) | 安装软件用于使能连接电话到互连的网络的方法 | |
CN107277402A (zh) | 麦克风设备的切换方法、电视机及计算机可读存储介质 | |
CN111767083A (zh) | 误唤醒音频数据的收集方法、播放设备、电子设备、介质 | |
CN106992971A (zh) | 一种互动终端切换方法、装置和一种互动录播系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |