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

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

Info

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
Application number
CN201811187115.0A
Other languages
English (en)
Other versions
CN109471606B (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

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)
  • 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处。
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 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)

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

* 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
CN106897146A (zh) * 2017-02-09 2017-06-27 青岛海信移动通信技术股份有限公司 一种终端的麦克风的数据处理方法和具有麦克风的终端
CN107369452A (zh) * 2017-07-25 2017-11-21 上海闻泰电子科技有限公司 音频数据的处理方法及系统
CN107526634A (zh) * 2017-08-31 2017-12-29 四川长虹电器股份有限公司 安卓设备上同时支持多个录音设备的方法

Patent Citations (4)

* 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
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
DARKO DEJANOVIC: "A proposal for VMS extension of Android based DTV STB", 《IEEE》 *
刘宪涛: "基于Android平台的手机语音识别服务客户端系统的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (4)

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