CN107526634A - 安卓设备上同时支持多个录音设备的方法 - Google Patents
安卓设备上同时支持多个录音设备的方法 Download PDFInfo
- Publication number
- CN107526634A CN107526634A CN201710772036.5A CN201710772036A CN107526634A CN 107526634 A CN107526634 A CN 107526634A CN 201710772036 A CN201710772036 A CN 201710772036A CN 107526634 A CN107526634 A CN 107526634A
- Authority
- CN
- China
- Prior art keywords
- sound pick
- outfit
- audio
- virtual sound
- recording
- 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
Classifications
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及安卓设备技术。本发明是要解决现有安卓设备不支持同时使用多个录音设备进行录音的问题,提供了一种安卓设备上同时支持多个录音设备的方法,可概括为:将每一个录音设备一一对应为一个虚拟录音设备,为了上层的应用程序可以使用抽象出的各虚拟录音设备,首先需要把抽象出的各虚拟录音设备加入到开机的声音配置文件中,然后***根据所配置的信息,主动把抽象出的各录音设备加入***的Audioflinger中,最后在Audioflinger录音流程中增加选择抽象出的虚拟录音设备的功能,以实现安卓设备同时支持多个录音设备录音的功能。本发明的有益效果是,方便用户,适用于安卓设备。
Description
技术领域
本发明涉及安卓设备技术,特别涉及安卓设备上录音设备的技术。
背景技术
随着基于安卓操作***的飞速发展及三网融合的推进,智能电视等安卓设备的应用场景越来越丰富,智能电视等安卓设备的用户也为其配备了各种外设,其中录音设备因为应用场景丰富,所以使用频率越来越高,但是目前的智能电视等安卓设备同时仅能支持一个录音设备进行录音,例如同时接入带录音功能的摄像头及带录音功能的遥控器或麦克风时,这几种设备就无法同时使用,使这些安卓设备的体验感大大降低。
目前的安卓设备操作***框架设计为同时仅支持一个录音设备录音,若需要使用其他接入的录音设备,则需要用户主动选择切换。目前的安卓设备上的安卓操作***的框架层对录音的处理通过Audioflinger来实现,但是基于现在的录音策略只支持开启一个录音设备,因此无法支持同时开启多个录音设备,其对录音处理的工作流程为:应用程序通过调用Android AudioRecord和MediaRecorder(***录音API)提供的方法开始录音,接着Android AudioRecord和MediaRecorder通过JNI(Java Native Interface)的方式,回调Android AudioRecord和MediaRecorder的本地服务开始录音的接口,然后调用Audioflinger和AudioPolicyServiec(***录音策略)进行录音前对应的准备工作,例如选择录音设备和设置相关录音参数等,准备工作完成后,再通过Audioflinger调用设置录音设备的驱动开始采集声音。其中AudioRecord主要是实现一边录音一边播放(AudioRecord+AudioTrack)以及对音频的实时处理,可以用代码实现各种音频的封装,但是其输出的是PCM语音数据,不能被播放器直接播放,必须先写入代码实现数据编码及压缩。目前的MediaRecorder中已经集成了录音、编码及压缩等,且支持少量的录音音频格式,如MP3、AAC、WAV及OGG等,直接调用相关接口即可,代码量小,但其无法实时处理。
发明内容
本发明的目的是要解决目前安卓设备不支持同时使用多个录音设备进行录音的问题,提供了一种安卓设备上同时支持多个录音设备的方法。
本发明解决其技术问题,采用的技术方案是,安卓设备上同时支持多个录音设备的方法,其特征在于,包括以下步骤:
步骤1、将每一个录音设备一一对应为一个虚拟录音设备,接入至少一个录音设备在Linux创建一一对应的录音设备节点,并令其能在Android HAL层通过多线程方式对其进行读写,并封装为库文件;
步骤2、在audio_policy.conf(***声音配置策略)的配置文件中加入各虚拟录音设备对应的audio_hw_modules(录音设备抽象结构体),从而在AudioPolicyManager中加载该配置文件的相关信息;
步骤3、在Audioflinger的audio_interfaces中增加新增的各虚拟录音设备接口,以便openInput能够选择新增的interface;
步骤4、在audio.h中加入新增的各录音设备,从而使应用程序在录音时通过getInput能够选择对应的虚拟录音设备;
步骤5、使用时,***启动,会根据audio_policy加载到各虚拟录音设备;
步骤6、应用程序需要录音时,调用AudioRecord开始录音线程,在Audiopolicy中通过库文件实时读取各录音设备节点,读取当前连接的录音设备的pid及vid,根据所读取的信息选择出对应的虚拟录音设备,调用对应的SO在Android HAL层中从对应的虚拟录音设备中读取数据。
本发明的有益效果是,在本发明方案中,通过上述安卓设备上同时支持多个录音设备的方法,可以使安卓设备同时使用多个录音设备,且互不影响,方便用户,提高用户体验感。
具体实施方式
下面结合实施例,详细描述本发明的技术方案。
本发明所述安卓设备上同时支持多个录音设备的方法,为:将每一个录音设备一一对应为一个虚拟录音设备,接入至少一个录音设备在Linux创建一一对应的录音设备节点,并令其能在Android HAL层通过多线程方式对其进行读写,并封装为库文件;然后在audio_policy.conf的配置文件中加入各虚拟录音设备对应的audio_hw_modules,从而在AudioPolicyManager中加载该配置文件的相关信息;再在Audioflinger的audio_interfaces中增加新增的各虚拟录音设备接口,以便openInput能够选择新增的interface;然后在audio.h中加入新增的各录音设备,从而使应用程序在录音时通过getInput能够选择对应的虚拟录音设备;在使用时,***启动,会根据audio_policy加载到各虚拟录音设备,然后在应用程序需要录音时,调用AudioRecord开始录音线程,在Audiopolicy中通过库文件实时读取各录音设备节点,读取当前连接的录音设备的pid及vid,根据所读取的信息选择出对应的虚拟录音设备,调用对应的SO在Android HAL层中从对应的虚拟录音设备中读取数据。
实施例
本发明实施例的安卓设备上同时支持多个录音设备的方法,其具体处理步骤如下:
步骤1、将每一个录音设备一一对应为一个虚拟录音设备,接入至少一个录音设备在Linux创建一一对应的录音设备节点,并令其能在Android HAL层通过多线程方式对其进行读写,并封装为库文件;
步骤2、在audio_policy.conf(***声音配置策略)的配置文件中加入各虚拟录音设备对应的audio_hw_modules(录音设备抽象结构体),从而在AudioPolicyManager中加载该配置文件的相关信息;
步骤3、在Audioflinger的audio_interfaces中增加新增的各虚拟录音设备接口,以便openInput能够选择新增的interface;
步骤4、在audio.h中加入新增的各录音设备,从而使应用程序在录音时通过getInput能够选择对应的虚拟录音设备;
步骤5、使用时,***启动,会根据audio_policy加载到各虚拟录音设备;
步骤6、应用程序需要录音时,调用AudioRecord开始录音线程,在Audiopolicy中通过库文件实时读取各录音设备节点,读取当前连接的录音设备的pid及vid,根据所读取的信息选择出对应的虚拟录音设备,调用对应的SO在Android HAL层中从对应的虚拟录音设备中读取数据。
这里,为了上层的应用程序可以使用抽象出的各虚拟录音设备,首先需要把抽象出的各虚拟录音设备加入到开机的声音配置文件(audio_policy.conf)中,然后***根据所配置的信息,主动把抽象出的各录音设备加入***的Audioflinger中,最后在Audioflinger录音流程中增加选择抽象出的虚拟录音设备的功能,这样在已经打开一个录音设备后,也可以再继续打开***抽象出的虚拟录音设备,以实现安卓设备同时支持多个录音设备录音的功能。
Claims (1)
1.安卓设备上同时支持多个录音设备的方法,其特征在于,包括以下步骤:
步骤1、将每一个录音设备一一对应为一个虚拟录音设备,接入至少一个录音设备在Linux创建一一对应的录音设备节点,并令其能在Android HAL层通过多线程方式对其进行读写,并封装为库文件;
步骤2、在audio_policy.conf的配置文件中加入各虚拟录音设备对应的audio_hw_modules,从而在AudioPolicyManager中加载该配置文件的相关信息;
步骤3、在Audioflinger的audio_interfaces中增加新增的各虚拟录音设备接口,以便openInput能够选择新增的interface;
步骤4、在audio.h中加入新增的各录音设备,从而使应用程序在录音时通过getInput能够选择对应的虚拟录音设备;
步骤5、使用时,***启动,会根据audio_policy加载到各虚拟录音设备;
步骤6、应用程序需要录音时,调用AudioRecord开始录音线程,在Audiopolicy中通过库文件实时读取各录音设备节点,读取当前连接的录音设备的pid及vid,根据所读取的信息选择出对应的虚拟录音设备,调用对应的SO在Android HAL层中从对应的虚拟录音设备中读取数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710772036.5A CN107526634A (zh) | 2017-08-31 | 2017-08-31 | 安卓设备上同时支持多个录音设备的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710772036.5A CN107526634A (zh) | 2017-08-31 | 2017-08-31 | 安卓设备上同时支持多个录音设备的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107526634A true CN107526634A (zh) | 2017-12-29 |
Family
ID=60683182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710772036.5A Pending CN107526634A (zh) | 2017-08-31 | 2017-08-31 | 安卓设备上同时支持多个录音设备的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107526634A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109471606A (zh) * | 2018-10-12 | 2019-03-15 | 深圳市小畅科技有限公司 | 一种安卓平台实时录音并发处理的方法 |
CN109830248A (zh) * | 2018-12-14 | 2019-05-31 | 维沃移动通信有限公司 | 一种音频录制方法及终端设备 |
CN110113494A (zh) * | 2019-05-05 | 2019-08-09 | Oppo广东移动通信有限公司 | 录音方法及相关装置 |
CN110767234A (zh) * | 2019-10-31 | 2020-02-07 | 北京字节跳动网络技术有限公司 | 音频信息处理方法、装置、电子设备及存储介质 |
CN111209121A (zh) * | 2018-11-22 | 2020-05-29 | 深圳市优必选科技有限公司 | 应用程序的录音方法、终端设备及介质 |
CN112423211A (zh) * | 2020-10-26 | 2021-02-26 | 努比亚技术有限公司 | 一种多音频传输控制方法、设备及计算机可读存储介质 |
CN112579038A (zh) * | 2020-12-24 | 2021-03-30 | 上海商米科技集团股份有限公司 | 一种内置录音方法、装置、电子设备和存储介质 |
CN114466231A (zh) * | 2021-12-15 | 2022-05-10 | 瑞芯微电子股份有限公司 | 接收和播放硬件来源的方法、电子设备和显示装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103235736A (zh) * | 2013-03-27 | 2013-08-07 | 四川长虹电器股份有限公司 | 基于Android平台支持虚拟音频设备的方法及*** |
US20160132318A1 (en) * | 2014-11-07 | 2016-05-12 | Oracle International Corporation | Notifications framework for distributed software upgrades |
CN106648921A (zh) * | 2016-09-30 | 2017-05-10 | 北京奇虎科技有限公司 | 一种实现安卓***中共享录音数据的方法及电子设备 |
CN106790940A (zh) * | 2015-11-25 | 2017-05-31 | 华为技术有限公司 | 录音方法、录音播放方法、装置及终端 |
CN107105083A (zh) * | 2016-02-22 | 2017-08-29 | 中兴通讯股份有限公司 | 一种录音方法、主终端、子终端和*** |
-
2017
- 2017-08-31 CN CN201710772036.5A patent/CN107526634A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103235736A (zh) * | 2013-03-27 | 2013-08-07 | 四川长虹电器股份有限公司 | 基于Android平台支持虚拟音频设备的方法及*** |
US20160132318A1 (en) * | 2014-11-07 | 2016-05-12 | Oracle International Corporation | Notifications framework for distributed software upgrades |
CN106790940A (zh) * | 2015-11-25 | 2017-05-31 | 华为技术有限公司 | 录音方法、录音播放方法、装置及终端 |
CN107105083A (zh) * | 2016-02-22 | 2017-08-29 | 中兴通讯股份有限公司 | 一种录音方法、主终端、子终端和*** |
CN106648921A (zh) * | 2016-09-30 | 2017-05-10 | 北京奇虎科技有限公司 | 一种实现安卓***中共享录音数据的方法及电子设备 |
Non-Patent Citations (1)
Title |
---|
MAXIONGYING: "《https://www.cnblogs.com/senior-engineer/p/4976716.html》", 19 November 2015 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109471606A (zh) * | 2018-10-12 | 2019-03-15 | 深圳市小畅科技有限公司 | 一种安卓平台实时录音并发处理的方法 |
CN109471606B (zh) * | 2018-10-12 | 2021-10-08 | 深圳市小畅科技有限公司 | 一种安卓平台实时录音并发处理的方法 |
CN111209121A (zh) * | 2018-11-22 | 2020-05-29 | 深圳市优必选科技有限公司 | 应用程序的录音方法、终端设备及介质 |
CN111209121B (zh) * | 2018-11-22 | 2023-05-23 | 深圳市优必选科技有限公司 | 应用程序的录音方法、终端设备及介质 |
CN109830248A (zh) * | 2018-12-14 | 2019-05-31 | 维沃移动通信有限公司 | 一种音频录制方法及终端设备 |
CN110113494A (zh) * | 2019-05-05 | 2019-08-09 | Oppo广东移动通信有限公司 | 录音方法及相关装置 |
CN110113494B (zh) * | 2019-05-05 | 2021-01-29 | Oppo广东移动通信有限公司 | 录音方法及相关装置 |
CN110767234A (zh) * | 2019-10-31 | 2020-02-07 | 北京字节跳动网络技术有限公司 | 音频信息处理方法、装置、电子设备及存储介质 |
CN112423211A (zh) * | 2020-10-26 | 2021-02-26 | 努比亚技术有限公司 | 一种多音频传输控制方法、设备及计算机可读存储介质 |
CN112579038A (zh) * | 2020-12-24 | 2021-03-30 | 上海商米科技集团股份有限公司 | 一种内置录音方法、装置、电子设备和存储介质 |
CN114466231A (zh) * | 2021-12-15 | 2022-05-10 | 瑞芯微电子股份有限公司 | 接收和播放硬件来源的方法、电子设备和显示装置 |
CN114466231B (zh) * | 2021-12-15 | 2024-01-23 | 瑞芯微电子股份有限公司 | 接收和播放硬件来源的方法、电子设备和显示装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107526634A (zh) | 安卓设备上同时支持多个录音设备的方法 | |
KR101084150B1 (ko) | 사운드 데이터를 관리하기 위한 데이터 구조를 갖는 기록매체와 기록 및 재생 방법 및 장치 | |
KR101235466B1 (ko) | 재생 장치, 재생 방법, 기록 매체 및, 데이터 구조체를 기록한 컴퓨터 판독가능한 기록 매체 | |
WO2002082810A1 (fr) | Appareil de reproduction video de contenu video numerique, procede de reproduction video, programme de reproduction video, et support de progiciel | |
KR101143252B1 (ko) | 재생 장치, 재생 방법 및 기록 매체 | |
JP2006519453A5 (zh) | ||
KR101237160B1 (ko) | 재생 장치 및 기록 매체 | |
CN106528040A (zh) | 改进安卓设备音质的方法及装置 | |
CN101006505B (zh) | 再现设备 | |
KR20070053270A (ko) | 재생 장치, 재생 방법, 재생 프로그램, 기록 매체, 및데이터 구조 | |
CA2473257A1 (en) | Information recording medium, information recording apparatus and method, information reproducing apparatus and method, information recording/reproducing apparatus and method, recording or reproduction control computer program, and data structure containing control signal | |
CN110175081B (zh) | 一种针对Android音频播放的优化***及其方法 | |
JP5546127B2 (ja) | メディアデータをオーサリングすることを含む方法、オーサリング方法、オーサリングシステム、及びメディアデータをオーサリングするためのコンピュータプログラムを記録するためのコンピュータ読取り可能記憶媒体 | |
WO2006018933A1 (ja) | 映像再生装置および方法、記録媒体、映像再生プログラム | |
CN104199633A (zh) | 多媒体播放设备、播放器自动识别装置及方法 | |
CN101365044B (zh) | 用于多媒体设备的节目信息存储和管理方法及多媒体设备 | |
CN103366780A (zh) | 多媒体播放器引擎***及其使用方法和多媒体播放器 | |
CN101098457A (zh) | 视频再现设备及其控制方法 | |
CN112053699B (zh) | 一种游戏卡牌变声的处理方法及装置 | |
JP2002100159A (ja) | データ信号処理装置および方法、並びに記録媒体 | |
CN105654932B (zh) | 实现卡拉ok应用的***和方法 | |
CN101110929A (zh) | 数字多媒体文件的播放控制方法 | |
RU2391719C2 (ru) | Носитель записи и способ и устройство воспроизведения данных с носителя записи | |
CN103975582A (zh) | 信息处理设备、信息处理方法及程序 | |
CN101562037A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171229 |
|
RJ01 | Rejection of invention patent application after publication |