CN103235736A - 基于Android平台支持虚拟音频设备的方法及系统 - Google Patents
基于Android平台支持虚拟音频设备的方法及系统 Download PDFInfo
- Publication number
- CN103235736A CN103235736A CN2013101010909A CN201310101090A CN103235736A CN 103235736 A CN103235736 A CN 103235736A CN 2013101010909 A CN2013101010909 A CN 2013101010909A CN 201310101090 A CN201310101090 A CN 201310101090A CN 103235736 A CN103235736 A CN 103235736A
- Authority
- CN
- China
- Prior art keywords
- audio
- virtual
- hal
- interface
- virtual audio
- 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.)
- Pending
Links
Images
Landscapes
- Telephone Function (AREA)
Abstract
本发明公开了一种基于Android平台支持虚拟音频设备的方法和系统,包括以下步骤:设置虚拟音频HAL接口;通过虚拟音频服务登记和监测虚拟音频输入;当监测到虚拟音频输入请求时,HAL实现层通过运行虚拟音频HAL接口接收虚拟音频输入。本发明可用于基于Android平台的智能消费电子产品,可以使用户能够便捷、低成本地使用各种音频装置进行语音输入。
Description
技术领域
本发明属于数字音频处理技术领域,具体涉及一种基于Android平台支持虚拟音频设备的方法及系统。
背景技术
目前消费电子产品已进入智能时代,例如在智能电视中,音频输入设备已经普遍在应用中使用,但使用电视终端时,用户是有一定观看距离的,导致对电视终端的音频输入设备要求很高,如采用带背景噪声消除的阵列麦克风、RF音频或蓝牙音频设备输入。这种音频设备配置成本较高,一般不可能在所有智能电视终端配置,而没有语音输入设备的电视终端,其智能电视应用的丰富性、可使用性都会下降。而现阶段大部分智能电视采用Android系统,因此如何在基于Android平台的消费电子产品上使用户能够便捷、低成本地使用各种音频装置进行语音输入,是需要解决的一个技术问题。
发明内容
本发明的目的在于提出一种基于Android平台支持虚拟音频设备的方法及系统,可以使用户能够便捷、低成本地使用各种音频装置进行语音输入,解决传统技术中对用户语音输入设备要求高的技术问题。
本发明是这样实现的,基于Android平台支持虚拟音频设备的方法,包括以下步骤:
设置虚拟音频HAL接口;
通过虚拟音频服务登记和监测虚拟音频输入;
当监测到虚拟音频输入请求时,HAL实现层通过运行虚拟音频HAL接口接收虚拟音频输入。
本发明的另一目的在于提供一种基于Android平台支持虚拟音频设备的系统,该系统包括:
音频终端;
虚拟音频设备端,该设备端基于Android平台,包括有虚拟音频服务模块、虚拟音频HAL接口、HAL实现模块,虚拟音频服务模块对音频终端进行登记和监测,当监测到音频终端有虚拟音频输入请求时,HAL实现层模块通过运行虚拟音频HAL接口对音频终端进行控制并接收音频输入。
本发明的有益效果是:由于本发明从Android平台的HAL层入手,使音频设备能够接收各种外部虚拟音频输入,也就是说,这种发明实际上是延伸了物理设备的概念,消费者就无需购买专门的音频输入设备,使用已有的、特别是便携语音终端如手机,就可进行语音输入,因此具有成本低、使用便捷的优点。
附图说明
图1是本发明的流程图。
图2是本发明的系统架构图。
图3是本发明的打开虚拟音频流接口、读取虚拟音频数据接口流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
在本发明实施例中,包括一种方法和一种系统,其中方法流程如图1,系统架构如图2,相关的虚拟音频流的打开和读取流程则如图3所示。
如图1,一种基于Android平台支持虚拟音频设备的方法,包括以下步骤:
设置虚拟音频HAL接口;
通过虚拟音频服务登记和监测虚拟音频输入;
当监测到虚拟音频输入请求时,HAL实现层通过运行虚拟音频HAL接口接收虚拟音频输入。
进一步详细说明如下:
构建包含音频输入的HAL实现层对应的打开音频流接口、读取音频数据接口、停止音频数据采集接口、关闭音频流接口的虚拟设备的HAL接口,以及一个设备描述字段,接口如下:
其中的open对应打开音频流接口,read对应读取音频数据接口,standby对应停止音频数据采集接口,close对应关闭音频流接口。
实现上述虚拟设备的HAL接口,并编译成动态连接库,用于系统运行时动态加载;
在android的音频服务中设置设备参数变量,该参数可通过android原生的AudioSystem接口设置,该设备参数包括有两种状态,指示HAL实现层是接收原生的物理音频输入,还是接收虚拟音频输入。在本实施例中,其值为空表示采用原生的物理音频输入设备,否则就表示要接收虚拟音频输入;
基于应用层面设立一种后台服务,该后台服务在满足虚拟音频设备启用的条件下,对该设备参数进行设置,以告知android系统中的audio的HAL实现层将采用该虚拟音频输入设备;
在android系统音频输入的HAL实现层对应的音频流打开接口中,依据实现设备参数的状态实现对本发明的虚拟设备的HAL接口动态链接库的加载;
在android系统音频输入的HAL实现层对应的音频流读取接口中,调用动态连接库中的音频输入接口读取音频PCM数据;
在android系统音频输入的HAL实现层对应的音频流停止接口中,调用动态连接库的standby接口;
在android系统音频输入的HAL实现层所对应的音频流关闭接口中,调用动态链接库的关闭流接口,同时关闭对应的动态连接库对象;
HAL实现层对接虚拟设备的音频流打开接口openVirtual及音频流读取接口readVirtual流程如图3所示,通过上述发明内容,应用调用标准的Android音频输入接口,通过audio系统的HAL层操作麦克风输入设备时,实际上已经操作到了虚拟的麦克风输入设备中;上述这些发明内容是一种通用的虚拟HAL层,只要按这种方式对接,就可以实现多种虚拟麦克风设备,而不局限于特定的一种虚拟麦克风接入方式。
通过本发明虚拟设备接口的设置,可以有序地对虚拟设备进行操作,同时通过设备参数变量的设置,可以方便地兼容和切换原生的物理音频输入、虚拟音频输入两种状态。
如图2,一种基于Android平台支持虚拟音频设备的系统,该系统包括:
音频终端;
虚拟音频设备端,该设备端基于Android平台,包括有虚拟音频服务模块、虚拟音频HAL接口、HAL实现层模块,虚拟音频服务模块对音频终端进行登记和监测,当监测到音频终端有虚拟音频输入请求时,HAL实现层模块通过运行虚拟音频HAL接口对音频终端进行控制并接收音频输入。
以实现一种通过网络从手机/PAD等移动终端获取PCM数据的虚拟音频设备为例,即将手机/PAD作为音频终端,具体说明如下:
在虚拟音频设备端设立虚拟音频服务模块,以实现一个本地常驻服务,该服务模块监听移动终端的自举信息,将移动终端的IP地址记录下来,同时,如果接收到来自移动终端的启用麦克风的通讯协议,通过AudioSystem.setParameters函数,设置系统的设备参数devinput为“libvirtualmic.so”,将该值记录到系统属性media.audio.devinput中,供后续HAL实现层模块读取。
虚拟音频设备端按如下方式实现发明内容中的虚拟音频HAL接口:
打开音频流接口——openVirtual:按约定的网络协议将采样率、音频格式、通道数发送给移动终端,移动终端记录电视终端要求的采样率等信息,同时发送ACK应答;
读取音频流接口——readVirtual:从约定好的端口按UDP协议读取指定字节数的数据,并设立超时机制;
停止音频流接口——standbyVirtual:按约定好的网络协议发送信息给移动终端,告知移动终端停止麦克风数据的采集;
关闭音频流接口——closeVirtual:本实施例不需要实现;
上述接口方式实现完后,编译成动态链接库,名字与devinput参数一致,为libvirtualmic.so,之后就可以加载运行了
android系统按标准音频HAL接口打开音频输入流时,检测到系统属性media.audio.devinput,如果不为空字符串NULL,则加载对应的动态链接库,其对应对象记为virualInStreamer,转而调用virualInputStreamer对象的openVirtual接口;
如果virualInputStreamer对象存在,则调用该对象的readVirtual接口读取音频数据;
同样调用virualInputStreamer对象的standby接口,以停止音频数据采集;
如果virualInputStreamer对象不为NULL,则调用其closeVirtual接口,调用完后,将virualInputStreamer对象置空并关闭其对应的动态链接库。
这样虚拟音频设备端就能够从手机/PAD获取语音数据了,因此通过本发明,可以在智能电视机中设立该虚拟音频设备端,用户通过已有的手机/PAD对智能电视机进行各种语音操作,方便快捷,距离范围很宽,而无需购买带背景噪声消除的阵列麦克风等专用设备,从而节省了用户的使用成本。
在本实施例中,语音终端可以有多个,即通过本发明,用户可以通过多个手机/PAD对智能电视机进行语音操作,使用上更加灵活方便。
Claims (5)
1.基于Android平台支持虚拟音频设备的方法,其特征在于包括以下步骤:
设置虚拟音频HAL接口;
通过虚拟音频服务登记和监测虚拟音频输入;
当监测到虚拟音频输入请求时,HAL实现层通过运行虚拟音频HAL接口接收虚拟音频输入。
2.根据权利要求1所述的基于Android平台支持虚拟音频设备的方法,其特征在于所述的虚拟音频HAL接口包括打开音频流接口、读取音频数据接口、停止音频数据采集接口、关闭音频流接口。
3.根据权利要求1所述的基于Android平台支持虚拟音频设备的方法,其特征在于还包括设置设备参数,该设备参数包括有两种状态,指示HAL实现层是接收原生的物理音频输入,还是接收虚拟音频输入。
4.根据权利要求3所述的基于Android平台支持虚拟音频设备的方法,其特征在于还包括基于应用层面设立一种后台服务,该后台服务在满足虚拟音频设备启用的条件下对所述设备参数进行设置。
5.基于Android平台支持虚拟音频设备的系统,其特征在于包括:
音频终端;
虚拟音频设备端,该设备端基于Android平台,包括有虚拟音频服务模块、虚拟音频HAL接口、HAL实现层模块,虚拟音频服务模块对音频终端进行登记和监测,当监测到音频终端有虚拟音频输入请求时,HAL实现层模块通过运行虚拟音频HAL接口对音频终端进行控制并接收音频输入。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101010909A CN103235736A (zh) | 2013-03-27 | 2013-03-27 | 基于Android平台支持虚拟音频设备的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101010909A CN103235736A (zh) | 2013-03-27 | 2013-03-27 | 基于Android平台支持虚拟音频设备的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103235736A true CN103235736A (zh) | 2013-08-07 |
Family
ID=48883781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013101010909A Pending CN103235736A (zh) | 2013-03-27 | 2013-03-27 | 基于Android平台支持虚拟音频设备的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103235736A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105554284A (zh) * | 2015-12-22 | 2016-05-04 | 福建星网智慧科技股份有限公司 | 一种改善Android手机通话音质的方法及系统 |
CN105791966A (zh) * | 2016-03-11 | 2016-07-20 | 四川长虹电器股份有限公司 | Android智能电视切换麦克风音频设备的方法 |
CN107526634A (zh) * | 2017-08-31 | 2017-12-29 | 四川长虹电器股份有限公司 | 安卓设备上同时支持多个录音设备的方法 |
CN111930340A (zh) * | 2020-09-21 | 2020-11-13 | 北京技德系统技术有限公司 | 一种基于Linux与Android兼容技术的虚拟音频装置与方法 |
CN109032559B (zh) * | 2018-07-25 | 2021-06-01 | 南京创维信息技术研究院有限公司 | 一种多应用共享同一录音设备的配置方法及系统 |
CN113391838A (zh) * | 2020-03-13 | 2021-09-14 | 阿里巴巴集团控股有限公司 | 麦克风资源访问方法、操作系统、终端和虚拟麦克风 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001005155A1 (en) * | 1999-07-09 | 2001-01-18 | Fujitsu Limited | Internet shopping system utilizing set top box and voice recognition |
CN101399568A (zh) * | 2007-09-29 | 2009-04-01 | 联想(北京)有限公司 | 移动终端作为计算机输入输出设备的设备及其系统、方法 |
CN101534380A (zh) * | 2009-04-15 | 2009-09-16 | 中兴通讯股份有限公司 | 一种移动终端及其声控切换电视/广播频道的方法 |
CN102799409A (zh) * | 2012-07-31 | 2012-11-28 | 深圳市同洲电子股份有限公司 | 语音输入的方法、装置和终端 |
-
2013
- 2013-03-27 CN CN2013101010909A patent/CN103235736A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001005155A1 (en) * | 1999-07-09 | 2001-01-18 | Fujitsu Limited | Internet shopping system utilizing set top box and voice recognition |
CN101399568A (zh) * | 2007-09-29 | 2009-04-01 | 联想(北京)有限公司 | 移动终端作为计算机输入输出设备的设备及其系统、方法 |
CN101534380A (zh) * | 2009-04-15 | 2009-09-16 | 中兴通讯股份有限公司 | 一种移动终端及其声控切换电视/广播频道的方法 |
CN102799409A (zh) * | 2012-07-31 | 2012-11-28 | 深圳市同洲电子股份有限公司 | 语音输入的方法、装置和终端 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105554284A (zh) * | 2015-12-22 | 2016-05-04 | 福建星网智慧科技股份有限公司 | 一种改善Android手机通话音质的方法及系统 |
CN105791966A (zh) * | 2016-03-11 | 2016-07-20 | 四川长虹电器股份有限公司 | Android智能电视切换麦克风音频设备的方法 |
CN107526634A (zh) * | 2017-08-31 | 2017-12-29 | 四川长虹电器股份有限公司 | 安卓设备上同时支持多个录音设备的方法 |
CN109032559B (zh) * | 2018-07-25 | 2021-06-01 | 南京创维信息技术研究院有限公司 | 一种多应用共享同一录音设备的配置方法及系统 |
CN113391838A (zh) * | 2020-03-13 | 2021-09-14 | 阿里巴巴集团控股有限公司 | 麦克风资源访问方法、操作系统、终端和虚拟麦克风 |
CN111930340A (zh) * | 2020-09-21 | 2020-11-13 | 北京技德系统技术有限公司 | 一种基于Linux与Android兼容技术的虚拟音频装置与方法 |
CN111930340B (zh) * | 2020-09-21 | 2021-06-01 | 北京技德系统技术有限公司 | 一种基于Linux与Android兼容技术的虚拟音频装置与方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103235736A (zh) | 基于Android平台支持虚拟音频设备的方法及系统 | |
CN105354093A (zh) | 内存管理方法及移动终端 | |
CN101123774B (zh) | 在无线终端中执行通信功能的方法 | |
CN103024630A (zh) | 一种第一电子设备的音量调节方法及第一电子设备 | |
CN102665137A (zh) | 控制媒体播放器的方法及终端 | |
CN108696523B (zh) | 一种通话服务的响应方法及设备 | |
CN102883214A (zh) | 一种多终端互传互控的方法及智能电视终端 | |
CN104980811A (zh) | 遥控器装置、通话装置、通话系统及通话方法 | |
CN107450709B (zh) | 应用处理方法、装置、存储介质及电子设备 | |
CN101068406A (zh) | 一种td-scdma/gsm双模双待智能移动终端 | |
CN106997302A (zh) | 固件升级方法、装置及音频播放设备 | |
CN106970816A (zh) | 一种软件升级处理方法、装置及音频播放设备 | |
CN104793916A (zh) | 一种在分屏终端进行声音控制的方法和系统 | |
CN107371221A (zh) | 选择网络的方法、装置、移动终端及可读存储介质 | |
CN103220392A (zh) | 一种自动录音的方法、装置及移动终端 | |
CN105337934A (zh) | 一种音频输出方法及设备 | |
CN110113493B (zh) | 多麦录音方法及相关产品 | |
CN103458317B (zh) | 智能终端的媒体播放控制方法及系统 | |
CN102354278A (zh) | 一种音频数据的处理方法和设备 | |
CN110086925A (zh) | 一种应用处理方法及移动终端 | |
CN1708045B (zh) | 新型便携式多媒体存储播放终端设备 | |
CN110768900B (zh) | 一种数据传输方法及电子设备 | |
CN105554131A (zh) | 一种数据处理方法及移动终端 | |
CN102006209A (zh) | 一种基于物联网的网络智能终端 | |
CN110113494B (zh) | 录音方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130807 |
|
RJ01 | Rejection of invention patent application after publication |