CN109471606B - 一种安卓平台实时录音并发处理的方法 - Google Patents

一种安卓平台实时录音并发处理的方法 Download PDF

Info

Publication number
CN109471606B
CN109471606B CN201811187115.0A CN201811187115A CN109471606B CN 109471606 B CN109471606 B CN 109471606B CN 201811187115 A CN201811187115 A CN 201811187115A CN 109471606 B CN109471606 B CN 109471606B
Authority
CN
China
Prior art keywords
server
audio
application
client
audio data
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.)
Expired - Fee Related
Application number
CN201811187115.0A
Other languages
English (en)
Other versions
CN109471606A (zh
Inventor
林宏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Xiaochang Technology Co ltd
Original Assignee
Shenzhen Xiaochang Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Xiaochang Technology Co ltd filed Critical Shenzhen Xiaochang Technology Co ltd
Priority to CN201811187115.0A priority Critical patent/CN109471606B/zh
Publication of CN109471606A publication Critical patent/CN109471606A/zh
Application granted granted Critical
Publication of CN109471606B publication Critical patent/CN109471606B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/16Sound input; Sound output
    • G06F3/162Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Debugging And Monitoring (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 (5)

1.一种安卓平台实时录音并发处理的方法,其特征在于,所述方法包括:
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的音频应用,其中一个所述音频应用在使用所述服务端的接口时,其余所述音频应用可以同时使用所述服务端的接口拿到同样的音频数据。
2.根据权利要求1所述的方法,其特征在于,所述服务端是以LocalSocket作为基础通讯方式创建的。
3.根据权利要求2所述的方法,其特征在于,所述服务端创建在所述Audio Driver处。
4.根据权利要求3所述的方法,其特征在于,所述客户端是以LocalSocket作为基础通讯方式创建的。
5.根据权利要求4所述的方法,其特征在于,所述客户端创建在所述System Framework层的Media Server处。
CN201811187115.0A 2018-10-12 2018-10-12 一种安卓平台实时录音并发处理的方法 Expired - Fee Related CN109471606B (zh)

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 CN109471606A (zh) 2019-03-15
CN109471606B true 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)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110113493B (zh) * 2019-05-06 2021-03-12 Oppo广东移动通信有限公司 多麦录音方法及相关产品
CN112615853B (zh) * 2020-12-16 2023-01-10 瑞芯微电子股份有限公司 一种Android设备音频数据接入方法
CN112579038B (zh) * 2020-12-24 2023-05-23 上海商米科技集团股份有限公司 一种内置录音方法、装置、电子设备和存储介质
CN113282271A (zh) * 2021-07-22 2021-08-20 北京麟卓信息科技有限公司 一种Linux平台上安卓应用的音频处理方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106897146A (zh) * 2017-02-09 2017-06-27 青岛海信移动通信技术股份有限公司 一种终端的麦克风的数据处理方法和具有麦克风的终端
CN107369452A (zh) * 2017-07-25 2017-11-21 上海闻泰电子科技有限公司 音频数据的处理方法及系统
CN107526634A (zh) * 2017-08-31 2017-12-29 四川长虹电器股份有限公司 安卓设备上同时支持多个录音设备的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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)

* Cited by examiner, † Cited by third party
Title
A proposal for VMS extension of Android based DTV STB;Darko Dejanovic;《IEEE》;20140106;全文 *
基于Android平台的手机语音识别服务客户端系统的设计与实现;刘宪涛;《中国优秀硕士学位论文全文数据库 信息科技辑》;20131115;I138-326 *

Also Published As

Publication number Publication date
CN109471606A (zh) 2019-03-15

Similar Documents

Publication Publication Date Title
CN109471606B (zh) 一种安卓平台实时录音并发处理的方法
JP6683234B2 (ja) 音声データ処理方法、装置、設備及びプログラム
KR102096156B1 (ko) 웨이크업 방법, 디바이스 및 가독매체
US9454961B2 (en) Speech recognition using loosely coupled components
CN109240107B (zh) 一种电器设备的控制方法、装置、电器设备和介质
CN101427237B (zh) 操作系统与应用程序的集成按需交付系统与方法
CN107731231B (zh) 一种支持多云端语音服务的方法及一种存储设备
CN103841268A (zh) 信息处理方法和信息处理装置
CN103365667A (zh) 一种在主机系统中安装操作系统的方法和装置
US11272012B2 (en) Action processing associated with a cloud device
US20200004878A1 (en) System and method for generating dialogue graphs
CN112764817A (zh) 设备功能唤醒方法及装置
WO2018040746A1 (zh) 一种驱动程序的安装方法及装置、电子设备
US10831897B2 (en) Selective enforcement of secure boot database entries in an information handling system
CN109545211A (zh) 语音交互方法及系统
CN110032627A (zh) 售后服务信息的提供方法、装置、计算机设备和存储介质
CN109033814A (zh) 智能合约触发方法、装置、设备及存储介质
US20160204981A1 (en) Dynamically managing a system of servers
KR20220083990A (ko) 다 음성 영역 음성의 웨이크업 및 인식 방법, 장치, 전자 기기, 저장 매체 및 컴퓨터 프로그램
CN116820527B (zh) 程序升级方法、装置、计算机设备和存储介质
CN109218338B (zh) 信息处理系统、方法和装置
CN106406674A (zh) 一种移动终端应用启动方法及装置
CN110502267A (zh) 设备应用程序的更新方法、装置、设备及存储介质
WO2015184902A1 (zh) 一种智能分屏的并发处理方法及相应的智能终端
CN115269063A (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