CN112615853A - 一种Android设备音频数据接入方法 - Google Patents
一种Android设备音频数据接入方法 Download PDFInfo
- Publication number
- CN112615853A CN112615853A CN202011487401.6A CN202011487401A CN112615853A CN 112615853 A CN112615853 A CN 112615853A CN 202011487401 A CN202011487401 A CN 202011487401A CN 112615853 A CN112615853 A CN 112615853A
- Authority
- CN
- China
- Prior art keywords
- data
- binder
- audio
- audio data
- format
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/60—Software-defined switches
- H04L49/602—Multilayer or multiprotocol switching, e.g. IP switching
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Circuit For Audible Band Transducer (AREA)
Abstract
一种Android设备音频数据接入方法,其特征在于,包括如下步骤,Android设备系统层启动RTSP客户端接收远端RTSP服务端发送的数据,RTSP服务端接收到数据后,进行rtp协议解包得到预设格式的音频数据;预设格式的音频数据经过解码后,得到pcm格式的裸音频数据;启动binder server,将pcm格式的裸音频数据数据送入binder server,等待binder客户端取数据;在Audio hal层启动binder客户端,根据预设的数据封装传输格式从binder server获取pcm数据,送声卡数据队列。通过上述方案,能够绕过声卡模块转换模拟声音的功能,转而直接把binder服务端获取到的pcm数据填到声卡数据队列供Audio hal读取。Audio hal从声卡数据队列中读取PCM数据,从而完成跳过本地声卡模块获取模拟声音数据的步骤,达到直接接收远程声卡音频的技术效果。
Description
技术领域
本发明涉及音频处理领域,尤其涉及一种能够将远程音频送入hal的执行方法。
背景技术
目前android设备打开录音功能,只能录制本地声卡的数据,无法直接录制远程声卡的数据,也就是无法直接实现远程录音。这是因为正常的音频数据录制都是从硬件模块声卡来的,声卡通过AD转换,把模拟的声音数据转换成数字的PCM等协议的数据,然后送到声卡数据队列、Audio hal层,当应用层需要调取的时候再进行调用。如现有技术CN111596885A的音频数据处理方法、服务器及存储介质方案中,是通过单独修改audio hal和audio record apk,自己建了一条收发通路,通用性不足。又如现有技术CN110808060A-音频处理方法、装置、设备及计算机可读存储介质的方案,采用的是本地麦克风和播放器使用两张虚拟声卡,本地的麦克风的录音不直接播放,而是传到远端,再传回本地。这样防止麦克风的回音,也就是听到多次自己说的话。
发明内容
为此,需要提供一种能够直接将远程数据填充到声卡数据队列的应用方法;
为实现上述目的,发明人提供了一种Android设备音频数据接入方法,包括如下步骤,Android设备系统层启动RTSP客户端接收远端RTSP服务端发送的数据,
RTSP服务端接收到数据后,进行rtp协议解包得到预设格式的音频数据;
预设格式的音频数据经过解码后,得到pcm格式的裸音频数据;
启动binder server,将pcm格式的裸音频数据数据送入binder server,等待binder客户端取数据;
在Audio hal层启动binder客户端,根据预设的数据封装传输格式从binderserver获取pcm数据,送声卡数据队列。
Audio hal从声卡数据队列中读取pcm数据,替代从声卡读取数据流程。
进一步地,还包括步骤,进行多路混音,包括将接收到的多条远端rtsp数据进行混音。
进一步地,还包括步骤,对多路混音结果进行去噪。
具体地,所述预设格式为ACC格式。
具体地,所述初次解包为rtp协议解包。
具体地,所述预设的数据封装传输格式为ACC格式。
通过上述方案,能够绕过声卡模块转换模拟声音的功能,转而直接把binder服务端获取到的pcm数据填到声卡数据队列供Audio hal读取。Audio hal从声卡数据队列中读取PCM数据,从而完成跳过本地声卡模块获取模拟声音数据的步骤,达到直接接收远程声卡音频的技术效果。
附图说明
图1为本发明一实施方式所述的Android设备音频数据接入方法流程图。
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
一种Android设备音频数据接入方法,适用于固化了安卓内核的设备,在需要调用音频数据时,进行如下步骤,S100、Android设备系统层启动RTSP client,接收远端RTSPserver发送的数据。RTSP:Real Time Streaming Protocol实时流传输协议,是TCP/IP协议体系中的一个应用层协议,该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。而RTSP client,即RTSP客户端,其加载在本地的Android设备之中,需要对流媒体数据进行处理时启用。另一方面,RTSP server,即RTSP服务端,可以是远程网络上的多媒体数据推送端。该远程网络上的数据推送端与上述本地的设备通信连接。
S101、当RTSP client接收到数据后,根据rtp协议进行解包得到预设格式(如AAC格式)的音频数据。这里的预设格式为便于远程传输的预设封装格式。
S102、本地服务在对预设格式的音频数据进行解码后,得到pcm格式裸音频数据;
S104、启动binder server,pcm数据送入binder server,等待binder客户端取数据。Binder:活页夹,android中主要用来实现进程之间的通信,用来接收binder驱动发送的消息。Binder client的代码片段是内置在Audio hal(音频硬件抽象层,是音频处理下面的一个组件)中的,编译出来是集成在audio hal的库中的。Binder client用于在Audio hal中,让Audio hal通过binder client去连接binder server取数据。Binder分为三类,包括服务端、客户端、驱动端,Binder驱动是Binder服务端和Binder客户端之间连接的一个桥梁,当一个服务端Binder被创建出来的时候,系统同时会在Binder驱动中创建另外一个Binder对象,当客户端想要访问远程的Binder服务端的时候,都是通过这个Binder对象来完成的。所述等待binder客户端取数据即为等待binder客户端线程进行提取数据的工作。PCM数据在步骤S104送到的是Binder服务端,客户端被Audio hal层启动后就会去服务端提取数据,再搬到下一级声卡队列(声卡队列,也就是声卡模块获取数据的内存。因此方案还包括步骤,S105、Audio hal层启动binder客户端;binder客户端根据预设的数据封装传输格式从binder server获取pcm数据,然后将PCM数据送入声卡数据队列。Audio hal从直接声卡数据队列中读取pcm数据,替代原始的从本地声卡中读取数据的流程。
正常的音频数据录制都是从硬件声卡模块获取。声卡通过AD转换,把模拟的声音数据转换成数字的PCM等协议格式数据,然后送到声卡数据队列,Audio hal层,再往应用层送。而本案的方法是绕过本地声卡模块的功能,直接把binder服务端获取到的PCM数据填到声卡数据队列供Audio hal读取。Audio hal从声卡数据队列中读取PCM数据,从而完成跳过本地声卡模块获取模拟声音数据的步骤,达到直接接收远程声卡音频的技术效果。
具体地,还包括步骤,进行多路混音,包括将接收到的多路远端RTSP数据进行混音,也可以是将远端RTSP数据进行混音与本地音频数据进行混音。在进一步的实施例中,还包括步骤,对多路混音结果进行去噪,通过上述方式,能够更好地达到混音播放,增强方案的实用性的技术效果。通过类似属性修改的方法,用户可以选择录制本地声卡还是远端设备推送的RTSP数据,或者两者的混音。RTSP音频流是现有的通用性高的从客户端传输数据的方式。
需要说明的是,尽管在本文中已经对上述各实施例进行了描述,但并非因此限制本发明的专利保护范围。因此,基于本发明的创新理念,对本文所述实施例进行的变更和修改,或利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接地将以上技术方案运用在其他相关的技术领域,均包括在本发明的专利保护范围之内。
Claims (7)
1.一种Android设备音频数据接入方法,其特征在于,包括如下步骤,Android设备系统层启动RTSP客户端接收远端RTSP服务端发送的数据,
RTSP服务端接收到数据后,进行初次解包得到预设格式的音频数据;
预设格式的音频数据经过解码后,得到PCM格式的裸音频数据;
启动binder server,将PCM格式的裸音频数据数据送入binder server,等待binder客户端取数据;
在Audio hal层启动binder客户端,根据预设的数据封装传输格式从binder server获取PCM数据,送声卡数据队列;
Audio hal从声卡数据队列中读取PCM数据。
2.根据权利要求1所述的Android设备音频数据接入方法,其特征在于,还包括步骤,进行多路混音,包括将接收到的远端rtsp数据与本地音频数据进行混音。
3.根据权利要求1所述的Android设备音频数据接入方法,其特征在于,还包括步骤,进行多路混音,包括将接收到的多条远端rtsp数据进行混音。
4.根据权利要求2或3其中一条所述的Android设备音频数据接入方法,其特征在于,还包括步骤,对多路混音结果进行去噪。
5.根据权利要求1所述的Android设备音频数据接入方法,其特征在于,所述预设格式为ACC格式。
6.根据权利要求1所述的Android设备音频数据接入方法,其特征在于,所述初次解包为rtp协议解包。
7.根据权利要求1所述的Android设备音频数据接入方法,其特征在于,所述预设的数据封装传输格式为ACC格式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011487401.6A CN112615853B (zh) | 2020-12-16 | 2020-12-16 | 一种Android设备音频数据接入方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011487401.6A CN112615853B (zh) | 2020-12-16 | 2020-12-16 | 一种Android设备音频数据接入方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112615853A true CN112615853A (zh) | 2021-04-06 |
CN112615853B CN112615853B (zh) | 2023-01-10 |
Family
ID=75240059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011487401.6A Active CN112615853B (zh) | 2020-12-16 | 2020-12-16 | 一种Android设备音频数据接入方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112615853B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113488065A (zh) * | 2021-07-01 | 2021-10-08 | 上海卓易科技股份有限公司 | 一种基于云手机的音频输出方法、装置及计算机设备、存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104536718A (zh) * | 2014-12-29 | 2015-04-22 | 珠海全志科技股份有限公司 | 基于android的多路音频直通不同音频设备的方法 |
WO2016000528A1 (zh) * | 2014-07-04 | 2016-01-07 | 阿里巴巴集团控股有限公司 | 一种音频输出方法及设备 |
CN106027365A (zh) * | 2016-04-29 | 2016-10-12 | 乐视控股(北京)有限公司 | 一种信息交互的方法及装置 |
WO2017005010A1 (zh) * | 2015-07-03 | 2017-01-12 | 深圳市中兴微电子技术有限公司 | 音频处理方法及设备、计算机存储介质 |
CN108845840A (zh) * | 2018-06-05 | 2018-11-20 | Oppo广东移动通信有限公司 | 应用程序声音的管理方法、装置、存储介质及智能终端 |
CN109471606A (zh) * | 2018-10-12 | 2019-03-15 | 深圳市小畅科技有限公司 | 一种安卓平台实时录音并发处理的方法 |
CN111381954A (zh) * | 2018-12-27 | 2020-07-07 | 深圳市优必选科技有限公司 | 一种音频数据录制方法、系统及终端设备 |
US20200242043A1 (en) * | 2017-10-13 | 2020-07-30 | Huawei Technologies Co., Ltd. | Interprocess Communication Method and Interprocess Communications System |
CN111506291A (zh) * | 2020-03-05 | 2020-08-07 | 北京声智科技有限公司 | 音频数据采集方法、装置、计算机设备及存储介质 |
CN111625214A (zh) * | 2020-05-22 | 2020-09-04 | 广州视源电子科技股份有限公司 | 音频控制方法、装置、设备及存储介质 |
CN111755017A (zh) * | 2020-07-06 | 2020-10-09 | 全时云商务服务股份有限公司 | 云会议的音频录制方法、装置、服务器及存储介质 |
CN111933168A (zh) * | 2020-08-17 | 2020-11-13 | 齐鲁工业大学 | 基于binder的软回路动态消回声方法及移动终端 |
CN111930340A (zh) * | 2020-09-21 | 2020-11-13 | 北京技德系统技术有限公司 | 一种基于Linux与Android兼容技术的虚拟音频装置与方法 |
-
2020
- 2020-12-16 CN CN202011487401.6A patent/CN112615853B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016000528A1 (zh) * | 2014-07-04 | 2016-01-07 | 阿里巴巴集团控股有限公司 | 一种音频输出方法及设备 |
CN104536718A (zh) * | 2014-12-29 | 2015-04-22 | 珠海全志科技股份有限公司 | 基于android的多路音频直通不同音频设备的方法 |
WO2017005010A1 (zh) * | 2015-07-03 | 2017-01-12 | 深圳市中兴微电子技术有限公司 | 音频处理方法及设备、计算机存储介质 |
CN106027365A (zh) * | 2016-04-29 | 2016-10-12 | 乐视控股(北京)有限公司 | 一种信息交互的方法及装置 |
US20200242043A1 (en) * | 2017-10-13 | 2020-07-30 | Huawei Technologies Co., Ltd. | Interprocess Communication Method and Interprocess Communications System |
CN108845840A (zh) * | 2018-06-05 | 2018-11-20 | Oppo广东移动通信有限公司 | 应用程序声音的管理方法、装置、存储介质及智能终端 |
CN109471606A (zh) * | 2018-10-12 | 2019-03-15 | 深圳市小畅科技有限公司 | 一种安卓平台实时录音并发处理的方法 |
CN111381954A (zh) * | 2018-12-27 | 2020-07-07 | 深圳市优必选科技有限公司 | 一种音频数据录制方法、系统及终端设备 |
CN111506291A (zh) * | 2020-03-05 | 2020-08-07 | 北京声智科技有限公司 | 音频数据采集方法、装置、计算机设备及存储介质 |
CN111625214A (zh) * | 2020-05-22 | 2020-09-04 | 广州视源电子科技股份有限公司 | 音频控制方法、装置、设备及存储介质 |
CN111755017A (zh) * | 2020-07-06 | 2020-10-09 | 全时云商务服务股份有限公司 | 云会议的音频录制方法、装置、服务器及存储介质 |
CN111933168A (zh) * | 2020-08-17 | 2020-11-13 | 齐鲁工业大学 | 基于binder的软回路动态消回声方法及移动终端 |
CN111930340A (zh) * | 2020-09-21 | 2020-11-13 | 北京技德系统技术有限公司 | 一种基于Linux与Android兼容技术的虚拟音频装置与方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113488065A (zh) * | 2021-07-01 | 2021-10-08 | 上海卓易科技股份有限公司 | 一种基于云手机的音频输出方法、装置及计算机设备、存储介质 |
CN113488065B (zh) * | 2021-07-01 | 2024-05-14 | 上海卓易科技股份有限公司 | 一种基于云手机的音频输出方法、装置及计算机设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112615853B (zh) | 2023-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11336953B2 (en) | Video processing method, electronic device, and computer-readable medium | |
JP4981919B2 (ja) | マルチメディアコンテンツとデコーディング手段とのバンドル | |
US7529675B2 (en) | Conversational networking via transport, coding and control conversational protocols | |
TWI440346B (zh) | 基於開放架構之域相依即時多語系通信服務 | |
KR101528367B1 (ko) | 사운드 제어 시스템 및 사운드 제어 방법 | |
GB2282000A (en) | Computer recording of telephone audio signals | |
US8719437B1 (en) | Enabling streaming to a media player without native streaming support | |
CN110545472B (zh) | 视频数据的处理方法、装置、电子设备及计算机可读介质 | |
CN112615853B (zh) | 一种Android设备音频数据接入方法 | |
WO2022110943A1 (zh) | 语音预览的方法及装置 | |
CN114125565A (zh) | 一种基于浏览器播放视频流的方法、装置及存储介质 | |
CN113271479A (zh) | 播放处理方法、装置及相关设备 | |
US10644928B2 (en) | Device, system, and method to perform real-time communication | |
CN111356023B (zh) | 播放方式确定方法及装置 | |
CN110113298B (zh) | 数据传输方法、装置、信令服务器和计算机可读介质 | |
US6844832B2 (en) | Input data conversion method, input data conversion program, and input data conversion system | |
CN105681905A (zh) | 一种智能电视及其提高应用程序的适配性的方法和装置 | |
US20160094603A1 (en) | Audio and video sharing method and system | |
US20030177354A1 (en) | Methods and apparatus for kernel mode encryption of computer telephony | |
CN110471776B (zh) | 应用数据通信方法、装置及系统 | |
CN116455879A (zh) | 基于freeswitch与WebRTC技术进行NLP实时测试方法、装置、介质及设备 | |
US8436753B2 (en) | System and method for efficiently translating media files between formats using a universal representation | |
CN108401126A (zh) | 声音共享装置、终端及声音共享方法 | |
CN114566173A (zh) | 一种音频混音方法、装置、设备及存储介质 | |
CN110309662A (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 |