CN109471606A - 一种安卓平台实时录音并发处理的方法 - Google Patents
一种安卓平台实时录音并发处理的方法 Download PDFInfo
- Publication number
- CN109471606A CN109471606A CN201811187115.0A CN201811187115A CN109471606A CN 109471606 A CN109471606 A CN 109471606A CN 201811187115 A CN201811187115 A CN 201811187115A CN 109471606 A CN109471606 A CN 109471606A
- Authority
- CN
- China
- Prior art keywords
- server
- client
- audio data
- data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000012545 processing Methods 0.000 title claims abstract description 8
- 230000002159 abnormal effect Effects 0.000 claims abstract description 13
- 238000012423 maintenance Methods 0.000 claims abstract description 7
- 230000007246 mechanism Effects 0.000 abstract description 6
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000004891 communication Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Debugging And Monitoring (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明公开了一种安卓平台实时录音并发处理的方法,其包括a,在Android HAL层,获取到硬件节点并采集到音频数据后,创建服务端,用于负责接收客户端的连接管理、数据发送;b,在System Framework层,创建客户端,在初始化时连接至所述服务端,将所述服务端的音频数据源设置为客户端的数据;c,在应用层,创建Record SDK,所述Record SDK负责初始化应用及与所述服务端连接接收数据,同时进行连接异常或者应用异常的维护,并为应用提供获取音频数据的接口。采用上述方法,使得应用可以绕过System Framework的Audio架构,能够实现同时支持多个音频应用,而不用考虑资源占用的问题,也不用采用独立的硬件模块处理额外的音频数据和唤醒机制,节约了产品的额外成本,使得技术极大的简单化。
Description
技术领域
本发明涉及实时录音,特别是涉及一种安卓平台实时录音并发处理的方法。
背景技术
目前基于安卓平台的智能语音设备越来越普遍的出现在了生活中,受限于安卓的录音机制(recorder),初期的智能语音设备基本上场景都比较单一,对于实时录音进行队列处理:非活动状态下录音资源用于持续进行监听,识别到关键唤醒词后资源移交至识别引擎,识别结束录音资源又移交回监听。
目前市面上已有的升级方案是将监听和识别混合,对实时录音进行独占,内部对数据进行处理,不需要在系统层做额外的资源释放、获取的操作。但是,当交互场景出现语音视频聊天、唱K、音视频录制等需要长期独占录音资源时,语音唤醒和识别就因为拿不到录音资源而无法正常工作。目前同类的产品在技术方案上会选择硬件方案来弥补机制上造成的缺陷,由独立的硬件模块处理额外的音频数据和唤醒机制,这也造成了产品的额外成本和更复杂的技术挑战。
因此,现在亟需针对上述问题研发出一种能够实现支持多个音频应用的方法。
发明内容
为解决现有技术中存在的问题,本发明提供了一种安卓平台实时录音并发处理的方法。
本发明为达到上述目的所采用的技术方案是:一种安卓平台实时录音并发处理的方法,其特征在于,所述方法包括:
a,在Android HAL层,获取到硬件节点并采集到音频数据后,创建服务端,用于负责接收客户端的连接管理、数据发送;
b,在System Framework层,创建客户端,在初始化时连接至所述服务端,将所述服务端的音频数据源设置为客户端的数据;
c,在应用层,创建Record SDK,所述Record SDK负责初始化应用及与所述服务端连接接收数据,同时进行连接异常或者应用异常的维护,并为应用提供获取音频数据的接口。
在一些实施例中,所述方法还包括在Linux Kernel层创建Tinyalsa Api,麦克风通过所述Tinyalsa Api将音频数据发送至所述Android HAL层的Audio Drive。
在一些实施例中,所述方法还包括Audio Recorder可连接所述客户端,使用所述客户端的音频数据。
在一些实施例中,所述方法还包括在应用层创建至少一个集成了所述Record SDK的音频应用,其中一个所述音频应用在使用所述服务端的接口时,其余所述音频应用可以同时使用所述服务端的接口拿到同样的音频数据。
在一些实施例中,所述服务端是以LocalSocket作为基础通讯方式创建的。
在一些实施例中,所述服务端创建在所述Audio Driver处。
在一些实施例中,所述客户端是以LocalSocket作为基础通讯方式创建的。
在一些实施例中,所述客户端创建在所述System Framework层的Media Server处。
本发明的有益效果是:相较于现有技术,本发明包括:a,在Android HAL层,获取到硬件节点并采集到音频数据后,创建服务端,用于负责接收客户端的连接管理、数据发送;b,在System Framework层,创建客户端,在初始化时连接至所述服务端,将所述服务端的音频数据源设置为客户端的数据;c,在应用层,创建Record SDK,所述Record SDK负责初始化应用及与所述服务端连接接收数据,同时进行连接异常或者应用异常的维护,并为应用提供获取音频数据的接口。采用上述方法,使得应用可以绕过SystemFramework的Audio架构,能够实现同时支持多个音频应用,而不用考虑资源占用的问题,也不用采用独立的硬件模块处理额外的音频数据和唤醒机制,节约了产品的额外成本,使得技术极大的简单化。
附图说明
图1为本发明较佳实施例的示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加浅显易懂,下面结合附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施例的限制。
如图1所示,本发明提供了一种安卓平台实时录音并发处理的方法,其特征在于,所述方法包括:
a,在Android HAL层,获取到硬件节点并采集到音频数据后,创建服务端,用于负责接收客户端的连接管理、数据发送;
b,在System Framework层,创建客户端,在初始化时连接至所述服务端,将所述服务端的音频数据源设置为客户端的数据;
c,在应用层,创建Record SDK,所述Record SDK负责初始化应用及与所述服务端连接接收数据,同时进行连接异常或者应用异常的维护,并为应用提供获取音频数据的接口。
具体的,a,当硬件例如麦克风和处于Linux Kernel(linux内核)层的TinyalsaApi(基于alsa内核的用户层音频接口)相连,所述Tinyalsa Api获取到所述硬件节点并采集到所述硬件输送的音频信号,然后将音频信号发送至Android HAL层(HAL即HardwareAbstraction Layer,硬件抽象层)的Audio Drive(音频驱动程序),以LocalSocket作为基础通讯方式,再在Audio Drive创建服务端,所述服务端可获取所述Audio Drive的音频数据。需要说明的是,API就是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的API而使操作系统去执行应用程序的命令。
b,在System Framework(系统架构)层,移除Media Server(媒体服务器)对原有Audio Drive的访问方式,同样以LocalSocket作为基础通讯方式,在Media Server处创建客户端,所述客户端与所述服务端连接,将所述服务端的Audio API(音频接口)的音频数据源设置为所述客户端的数据,替换之前的库调用方式。所述客户端的音频数据可以被系统原有的录音应用Audio Recorder(录音机)使用。
c,在应用层,创建Record SDK(录音软件开发工具包),所述Record SDK主要负责初始化应用,及与所述服务端连接接收音频数据,同时还可进行连接异常或者应用异常的维护,并为音频应用提供用于获取音频数据的接口。
d,最后,在应用层创建至少一个音频应用,所述音频应用必须集成了所述RecordSDK。当其中一个音频应用在使用服务端的接口时,即在使用服务端的音频数据时,其余的音频应用也可以同时使用所述服务端提供的音频数据接口得到同样的音频数据。
需要说明的是,上述方法,既可以通过Audio Recorder使用客户端的音频数据,集成了Record SDK的音频应用也可以同时使用服务端的音频数据,实现实时录音并发处理的效果。当然,如果有并发录音的场景,建议都用集成了Record SDK的音频应用使用服务端的音频数据,效果会更好,用Audio Recorder(录音机)只是为了保留系统原有的录音方式。
在一些实施例中,所述方法还包括在Linux Kernel层创建Tinyalsa Api,麦克风通过所述Tinyalsa Api将音频数据发送至所述Android HAL层的Audio Drive。
在一些实施例中,所述方法还包括Audio Recorder可连接所述客户端,使用所述客户端的音频数据。
在一些实施例中,所述方法还包括在应用层创建至少一个集成了所述Record SDK的音频应用,其中一个所述音频应用在使用所述服务端的接口时,其余所述音频应用可以同时使用所述服务端的接口拿到同样的音频数据。
在一些实施例中,所述服务端是以LocalSocket作为基础通讯方式创建的。
在一些实施例中,所述服务端创建在所述Audio Driver处。
在一些实施例中,所述客户端是以LocalSocket作为基础通讯方式创建的。
在一些实施例中,所述客户端创建在所述System Framework层的Media Server处。
综上所述,本发明包括a,在Android HAL层,获取到硬件节点并采集到音频数据后,创建服务端,用于负责接收客户端的连接管理、数据发送;b,在System Framework层,创建客户端,在初始化时连接至所述服务端,将所述服务端的音频数据源设置为客户端的数据;c,在应用层,创建Record SDK,所述Record SDK负责初始化应用及与所述服务端连接接收数据,同时进行连接异常或者应用异常的维护,并为应用提供获取音频数据的接口。采用上述方法,使得应用可以绕过System Framework的Audio架构,能够实现同时支持多个音频应用,而不用考虑资源占用的问题,也不用采用独立的硬件模块处理额外的音频数据和唤醒机制,节约了产品的额外成本,使得技术极大的简单化。
以上所述实施例仅表达了本发明的两种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种安卓平台实时录音并发处理的方法,其特征在于,所述方法包括:
a,在Android HAL层,获取到硬件节点并采集到音频数据后,创建服务端,用于负责接收客户端的连接管理、数据发送;
b,在System Framework层,创建客户端,在初始化时连接至所述服务端,将所述服务端的音频数据源设置为客户端的数据;
c,在应用层,创建Record SDK,所述Record SDK负责初始化应用及与所述服务端连接接收数据,同时进行连接异常或者应用异常的维护,并为应用提供获取音频数据的接口。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括在Linux Kernel层创建Tinyalsa Api,麦克风通过所述Tinyalsa Api将音频数据发送至所述Android HAL层的Audio Drive。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括Audio Recorder可连接所述客户端,使用所述客户端的音频数据。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括在应用层创建至少一个集成了所述Record SDK的音频应用,其中一个所述音频应用在使用所述服务端的接口时,其余所述音频应用可以同时使用所述服务端的接口拿到同样的音频数据。
5.根据权利要求4所述的方法,其特征在于,所述服务端是以LocalSocket作为基础通讯方式创建的。
6.根据权利要求5所述的方法,其特征在于,所述服务端创建在所述Audio Driver处。
7.根据权利要求6所述的方法,其特征在于,所述客户端是以LocalSocket作为基础通讯方式创建的。
8.根据权利要求7所述的方法,其特征在于,所述客户端创建在所述System Framework层的Media Server处。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811187115.0A CN109471606B (zh) | 2018-10-12 | 2018-10-12 | 一种安卓平台实时录音并发处理的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811187115.0A CN109471606B (zh) | 2018-10-12 | 2018-10-12 | 一种安卓平台实时录音并发处理的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109471606A true CN109471606A (zh) | 2019-03-15 |
CN109471606B CN109471606B (zh) | 2021-10-08 |
Family
ID=65664013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811187115.0A Expired - Fee Related CN109471606B (zh) | 2018-10-12 | 2018-10-12 | 一种安卓平台实时录音并发处理的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109471606B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110113493A (zh) * | 2019-05-06 | 2019-08-09 | Oppo广东移动通信有限公司 | 多麦录音方法及相关产品 |
CN112579038A (zh) * | 2020-12-24 | 2021-03-30 | 上海商米科技集团股份有限公司 | 一种内置录音方法、装置、电子设备和存储介质 |
CN112615853A (zh) * | 2020-12-16 | 2021-04-06 | 瑞芯微电子股份有限公司 | 一种Android设备音频数据接入方法 |
CN113282271A (zh) * | 2021-07-22 | 2021-08-20 | 北京麟卓信息科技有限公司 | 一种Linux平台上安卓应用的音频处理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170169834A1 (en) * | 2015-12-15 | 2017-06-15 | Le Holdings (Beijing) Co., Ltd | Android-based audio content processing method and device |
CN106897146A (zh) * | 2017-02-09 | 2017-06-27 | 青岛海信移动通信技术股份有限公司 | 一种终端的麦克风的数据处理方法和具有麦克风的终端 |
CN107369452A (zh) * | 2017-07-25 | 2017-11-21 | 上海闻泰电子科技有限公司 | 音频数据的处理方法及系统 |
CN107526634A (zh) * | 2017-08-31 | 2017-12-29 | 四川长虹电器股份有限公司 | 安卓设备上同时支持多个录音设备的方法 |
-
2018
- 2018-10-12 CN CN201811187115.0A patent/CN109471606B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170169834A1 (en) * | 2015-12-15 | 2017-06-15 | Le Holdings (Beijing) Co., Ltd | Android-based audio content processing method and device |
CN106897146A (zh) * | 2017-02-09 | 2017-06-27 | 青岛海信移动通信技术股份有限公司 | 一种终端的麦克风的数据处理方法和具有麦克风的终端 |
CN107369452A (zh) * | 2017-07-25 | 2017-11-21 | 上海闻泰电子科技有限公司 | 音频数据的处理方法及系统 |
CN107526634A (zh) * | 2017-08-31 | 2017-12-29 | 四川长虹电器股份有限公司 | 安卓设备上同时支持多个录音设备的方法 |
Non-Patent Citations (2)
Title |
---|
DARKO DEJANOVIC: "A proposal for VMS extension of Android based DTV STB", 《IEEE》 * |
刘宪涛: "基于Android平台的手机语音识别服务客户端系统的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110113493A (zh) * | 2019-05-06 | 2019-08-09 | Oppo广东移动通信有限公司 | 多麦录音方法及相关产品 |
CN112615853A (zh) * | 2020-12-16 | 2021-04-06 | 瑞芯微电子股份有限公司 | 一种Android设备音频数据接入方法 |
CN112579038A (zh) * | 2020-12-24 | 2021-03-30 | 上海商米科技集团股份有限公司 | 一种内置录音方法、装置、电子设备和存储介质 |
CN113282271A (zh) * | 2021-07-22 | 2021-08-20 | 北京麟卓信息科技有限公司 | 一种Linux平台上安卓应用的音频处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109471606B (zh) | 2021-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109471606A (zh) | 一种安卓平台实时录音并发处理的方法 | |
EP3417380B1 (en) | Recording web conferences | |
CN108924370B (zh) | 呼叫中心外呼语音波形分析方法、系统、设备及存储介质 | |
CN100517306C (zh) | 媒体基础媒体处理器 | |
US8315866B2 (en) | Generating representations of group interactions | |
CN107610702A (zh) | 终端设备待机唤醒方法、装置及计算机设备 | |
CN105357273B (zh) | 异步通信模式下socket通信与进程管理通用平台及方法 | |
CN109192208A (zh) | 一种电器设备的控制方法、系统、装置、设备及介质 | |
CN1694086A (zh) | 作为主要计算环境的辅助的面向任务处理 | |
CA2335661A1 (en) | Asset management and scheduling graphical user interface for media streamer | |
CN104427292A (zh) | 会议纪要的提取方法及装置 | |
MXPA03011280A (es) | Modelo y arquitectura de filtro del sistema de archivo administrado. | |
US10238333B2 (en) | Daily cognitive monitoring of early signs of hearing loss | |
CN109462546A (zh) | 一种语音对话历史消息记录方法、装置及系统 | |
WO2020082705A1 (zh) | 蓝牙音箱的播放控制方法、系统及智能设备 | |
US20090083221A1 (en) | System and Method for Estimating and Storing Skills for Reuse | |
US20130045709A1 (en) | Mobile Integrated Billable hour management system and method | |
CN107894829B (zh) | 对话动作的分级注释 | |
JP2013546072A (ja) | 自律的なインテリジェント・コンテンツ項目 | |
CN108073638A (zh) | 数据诊断方法及装置 | |
CN202677827U (zh) | 基于云计算的语音识别系统 | |
CN117055977B (zh) | 无代码应用间的数据联动方法和装置 | |
CN113542103B (zh) | 社交通信群组中账号的邀请监测方法、装置及移动终端 | |
JP2019091444A (ja) | スマートインタラクティブの処理方法、装置、設備及びコンピュータ記憶媒体 | |
CN109660820A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20211008 |