CN114496007A - 数据处理方法、装置、设备、存储介质及计算机程序产品 - Google Patents
数据处理方法、装置、设备、存储介质及计算机程序产品 Download PDFInfo
- Publication number
- CN114496007A CN114496007A CN202210096680.6A CN202210096680A CN114496007A CN 114496007 A CN114496007 A CN 114496007A CN 202210096680 A CN202210096680 A CN 202210096680A CN 114496007 A CN114496007 A CN 114496007A
- Authority
- CN
- China
- Prior art keywords
- recording
- sampling
- parameters
- data
- applications
- 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
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/16—Storage of analogue signals in digital stores using an arrangement comprising analogue/digital [A/D] converters, digital memories and digital/analogue [D/A] converters
-
- 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/44568—Immediately runnable code
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本申请提供了数据处理方法、装置、设备、存储介质及计算机程序产品,该方法包括获取N个应用的录音采样参数;获取目标录音采样参数;基于所述目标录音采样参数进行录音,得到录音数据;基于所述N个应用的录音采样参数对所述录音数据进行处理,得到所述N个应用对应的录音数据。采用本申请实施例,可以实现多个应用同时获取到符合应用采样要求的录音数据。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及数据处理方法、数据处理装置、计算机设备、计算机可读存储介质及计算机程序产品。
背景技术
随着通信网络和移动终端的快速发展,移动终端上的应用也越来越丰富。人们可以通过移动终端上的麦克风、摄像头等硬件,实现打电话、录音、拍照等功能。然而随着应用功能的丰富,同一份数据往往可能被多个应用调用,例如,拨打电话的时候对通话内容进行录音等。
现有的技术在移动终端设备只有一个麦克风的情况下,由于不同应用对录音的采样率、采样位数等参数的要求不同,所述只能允许一个应用去调用麦克风的采样数据,如果另外的应用需要调用该麦克风的采样数据,需要等待当前应用调用完成或者关闭当前正在使用的应用。
发明内容
本申请实施例提供了一数据处理方法、装置、计算机设备及存储介质,可以实现多个应用同时获取到符合应用采样要求的录音数据。
一方面,本申请实施例提供了一种数据处理方法,所述方法包括:
获取N个应用的录音采样参数,所述N为正整数;
获取目标录音采样参数;
基于所述目标录音采样参数进行录音,得到录音数据;
基于所述N个应用的录音采样参数对所述录音数据进行处理,得到所述N个应用对应的录音数据。
在一种可能的实施方式中,所述获取目标录音采样参数,包括:
基于所述N个应用的录音采样参数确定目标录音采样参数。
在一种可能的实施方式中,所述录音采样参数包括以下参数中的至少一种:采样率、采样精度或采样通道数量,所述目标录音采样参数包括以下参数中的至少一种:所述N个应用的录音采样参数中的最大采样率、所述N个应用的录音采样参数中的最大采样精度或所述N个应用的录音采样参数中的最大采样通道数量。
在一种可能的实施方式中,所述目标录音采样参数为预设录音采样参数。
在一种可能的实施方式中,所述录音采样参数包括以下参数中的至少一种:采样率、采样精度或采样通道数量,所述目标录音采样参数包括以下参数中的至少一种:目标采样率、目标采样精度或目标采样通道数量,所述目标采样率大于或等于所述N个应用的录音采样参数中的最大采样率,所述目标采样精度大于或等于所述N个应用的录音采样参数中的最大采样精度,所述目标采样通道数量大于或等于所述N个应用的录音采样参数中的最大采样通道数量。
在一种可能的实施方式中,所述基于所述目标录音采样参数进行录音,得到录音数据之后,所述方法还包括:
将所述录音数据缓存至数据缓存区域;
所述基于所述N个应用的录音采样参数对所述录音数据进行处理,得到所述N个应用对应的录音数据,包括:
从所述数据缓存区域中读取所述录音数据,并基于所述N个应用的录音采样参数对所述录音数据进行处理,得到所述N个应用对应的录音数据。
另一方面,本申请实施例提供了一种数据处理装置,所述装置包括:
获取单元,用于获取N个应用的录音采样参数,所述N为正整数;
处理单元,用于获取目标录音采样参数;
所述处理单元,还用于基于所述目标录音采样参数进行录音,得到录音数据;
所述处理单元,还用于基于所述N个应用的录音采样参数对所述录音数据进行处理,得到所述N个应用对应的录音数据。
在一种可能的实施方式中,所述处理单元,还用于基于所述N个应用的录音采样参数确定目标录音采样参数。
在一种可能的实施方式中,所述录音采样参数包括以下参数中的至少一种:采样率、采样精度或采样通道数量,所述目标录音采样参数包括以下参数中的至少一种:所述N个应用的录音采样参数中的最大采样率、所述N个应用的录音采样参数中的最大采样精度或所述N个应用的录音采样参数中的最大采样通道数量。
在一种可能的实施方式中,所述目标录音采样参数为预设录音采样参数。
在一种可能的实施方式中,所述录音采样参数包括以下参数中的至少一种:采样率、采样精度或采样通道数量,所述目标录音采样参数包括以下参数中的至少一种:目标采样率、目标采样精度或目标采样通道数量,所述目标采样率大于或等于所述N个应用的录音采样参数中的最大采样率,所述目标采样精度大于或等于所述N个应用的录音采样参数中的最大采样精度,所述目标采样通道数量大于或等于所述N个应用的录音采样参数中的最大采样通道数量。
在一种可能的实施方式中,所述处理单元,还用于将所述录音数据缓存至数据缓存区域;所述处理单元,还用于从所述数据缓存区域中读取所述录音数据,并基于所述N个应用的录音采样参数对所述录音数据进行处理,得到所述N个应用对应的录音数据。
再一方面,本申请实施例提供了一种计算机设备,该计算机设备包括:处理器、存储器以及网络接口;处理器与存储器、网络接口相连,其中,网络接口用于提供网络通信功能,存储器用于存储程序代码,处理器用于调用程序代码,以执行本申请实施例中的数据处理方法。
相应地,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时,执行本申请实施例中的数据处理方法。
相应地,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序或计算机指令,所述计算机程序或计算机指令被处理器执行时实现本申请实施例提供的数据处理方法的步骤。
相应地,本申请实施例还提供了一种计算机程序,所述计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中,计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,处理器执行所述计算机指令,使得所述计算机设备执行本申请实施例提供的数据处理方法。
本申请实施例通过将获取到的多个应用的采样参数进行比较,将精度最高的采样参数作为目标录音采样参数,或者预设一个精度高的参数作为目标采样参数,进行录音以得到录音数据。再根据各个应用的参数情况对录音数据进行处理,得到满足各个应用需求的录音数据,从而,可以实现多个应用同时获取到符合应用采样要求的录音数据。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种实现本申请的终端的硬件结构示意图;
图2是本申请实施例提供的数据处理方法的软件分层架构示意图;
图3是本申请实施例提供的数据处理方法的流程示意图;
图4是本申请实施例提供的数据处理方法底层原理示意图;
图5是本申请实施例提供的数据处理装置的结构示意图;
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1,图1为实现本申请各个实施例的一种终端的硬件结构示意图,该终端100可以包括:射频(Radio Frequency,RF)单元101、WiFi模块102、音频输出单元103、A/V(音频/视频)输入单元104、传感器105、显示单元106、用户输入单元107、接口单元108、存储器109、处理器110、以及电源111等部件。本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图1对终端的各个部件进行具体的介绍:
射频单元101可用于收发信息或通话过程中,信号的接收和发送,可选地,将基站的下行信息接收后,给处理器110处理;可选地,将上行的数据发送给基站。通常,射频单元101包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元101还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobilecommunication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址2000(Code Division Multiple Access 2000,CDMA2000)、宽带码分多址(WidebandCode Division Multiple Access,WCDMA)、时分同步码分多址(Time Division-Synchronous Code Division Multiple Access,TD-SCDMA)、频分双工长期演进(Frequency Division Duplexing-Long Term Evolution,FDD-LTE)、分时双工长期演进(Time Division Duplexing-Long Term Evolution,TDD-LTE)和5G等。
WiFi属于短距离无线传输技术,终端通过WiFi模块102可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图1示出了WiFi模块102,但是可以理解的是,其并不属于终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
音频输出单元103可以在终端100处于呼叫信号接收模式、通话模式、记录模式、语音识别模式、广播接收模式等等模式下时,将射频单元101或WiFi模块102接收的或者在存储器109中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元103还可以提供与终端100执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元103可以包括扬声器、蜂鸣器等等。
A/V输入单元104用于接收音频或视频信号。A/V输入单元104可以包括图形处理器(Graphics Processing Unit,GPU)1041和麦克风1042,图形处理器1041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元106上。经图形处理器1041处理后的图像帧可以存储在存储器109(或其它存储介质)中或者经由射频单元101或WiFi模块102进行发送。麦克风1042可以在电话通话模式、记录模式、语音识别模式等等运行模式中经由麦克风1042接收声音(音频数据),并且能够将这样的声音处理为音频数据。处理后的音频(语音)数据可以在电话通话模式的情况下转换为可经由射频单元101发送到移动通信基站的格式输出。麦克风1042可以实施各种类型的噪声消除(或抑制)算法以消除(或抑制)在接收和发送音频信号的过程中产生的噪声或者干扰。
终端100还包括至少一种传感器105,比如光传感器、运动传感器以及其他传感器。可选地,光传感器包括环境光传感器及接近传感器,可选地,环境光传感器可根据环境光线的明暗来调节显示面板1061的亮度,接近传感器可在终端100移动到耳边时,关闭显示面板1061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
显示单元106用于显示由用户输入的信息或提供给用户的信息。显示单元106可包括显示面板1061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板1061。
用户输入单元107可用于接收输入的数字或字符信息,以及产生与终端的用户设置以及功能控制有关的键信号输入。可选地,用户输入单元107可包括触控面板1071以及其他输入设备1072。触控面板1071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1071上或在触控面板1071附近的操作),并根据预先设定的程式驱动相应的连接装置。触控面板1071可包括触摸检测装置和触摸控制器两个部分。可选地,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器110,并能接收处理器110发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1071。除了触控面板1071,用户输入单元107还可以包括其他输入设备1072。可选地,其他输入设备1072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种,具体此处不做限定。
可选地,触控面板1071可覆盖显示面板1061,当触控面板1071检测到在其上或附近的触摸操作后,传送给处理器110以确定触摸事件的类型,随后处理器110根据触摸事件的类型在显示面板1061上提供相应的视觉输出。虽然在图1中,触控面板1071与显示面板1061是作为两个独立的部件来实现终端的输入和输出功能,但是在某些实施例中,可以将触控面板1071与显示面板1061集成而实现终端的输入和输出功能,具体此处不做限定。
接口单元108用作至少一个外部装置与终端100连接可以通过的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元108可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到终端100内的一个或多个元件或者可以用于在终端100和外部装置之间传输数据。
存储器109可用于存储软件程序以及各种数据。存储器109可主要包括存储程序区和存储数据区,可选地,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器109可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器110是终端的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器109内的软件程序和/或模块,以及调用存储在存储器109内的数据,执行终端的各种功能和处理数据,从而对终端进行整体监控。处理器110可包括一个或多个处理单元;优选的,处理器110可集成应用处理器和调制解调处理器,可选地,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器110中。该处理器110可用于执行图3和图4提供的实施例。
终端100还可以包括给各个部件供电的电源111(比如电池),优选的,电源111可以通过电源管理系统与处理器110逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
请参见图2,下面结合图2对本方法涉及的软件分层架构进行解释。如图2所示,图中201为应用程序(Application,APP)层,该应用程序层包括联系人、邮件客户端,短消息(Short Messaging Service,SMS)程序,日历,地图,浏览器,联系人管理程序等,以及第三方开发的APP程序。图中202为JAVA应用程序框架,该JAVA应用程序框架包括了核心应用程序所使用的应用程序编程端口(Application Programming Interface,API)框架。该应用程序的架构设计简化了组件的重用,任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块。同样,该应用程序重用机制也使用户可以方便的替换程序组件。图中203为Native层(原生层),原生层203包括Native C/C++库以及安卓进程(Android Runtime,ART)。其中,Native C/C++库用于许多核心安卓系统组件和服务构建自原生代码。对于安卓设备,每个应用都在其自己的进程中运行,并且有其自己的ART实例。图中204为硬件抽象层(Hardware Abstraction Layer,HAL),该硬件抽象层提供标准界面,向更高级别的Java API框架显示设备硬件功能。HAL包含多个库模块,其中每个模块都为特定类型的硬件组件实现一个界面,例如相机或蓝牙模块。当框架API要求访问设备硬件时,安卓系统将为该硬件组件加载库模块。图中205为Linux内核(kernel)层,该Linux内核层是安卓平台的基础,例如,ART依靠Linux内核来执行底层功能,再例如线程、任务管理、内存管理、硬件驱动程序等也是依靠Linux内核来执行底层功能。
请参见图3,图3是本申请实施例提供的一种数据处理方法的流程示意图。图3中以上述设备作为该方法的执行主体为例,本申请并不限制该方法的执行主体。例如,图3中的设备也可以是支持该设备实现该方法的芯片、芯片系统、或处理器,还可以是能实现全部或部分数据处理设备功能的逻辑模块或软件。
其中:
S301、获取N个应用的录音采样参数,N为正整数。
在一种可能的实施方式中,录音采样参数包括以下参数中的至少一种:采样率、采样精度或采样通道数量。其中,采样率也就是采样频率,指每秒钟取得声音样本的次数;采样精度也就是采样位数,理解为对声音的解析度,采样精度越大,解析度就越高,声音就越真实;采样通道数量指的是声音的通道的数目,例如单声道和立体声中,单声道的声音仅仅能使用一个喇叭发声(也就是说通道数为1),立体声能够使两个喇叭都发声(也就是说通道数为2)。
可选的,录音采样参数可以是采样率、采样精度或采样通道数量中的一种(例如录音采样参数为采样率);录音采样参数也可以是采样率、采样精度或采样通道数量中的任意两种(例如录音采样参数为采样精度和采样通道数量);录音采样参数也可以是包含采样率、采样精度或采样通道数量。需要说明的是,录音采样参数还可以包含除上述采样率、采样精度或采样通道数量以外的其他采样参数(例如比特率等)。
其中,在上述录音采样参数包含多种参数的情况下,N个应用的录音采样参数可以是完全相同的,例如应用1的录音采样参数可以与应用2的录音采样参数完全相同(两个应用的采样率、采样精度或采样通道数量均相同)。N个应用的录音采样参数可以是部分相同的,例如应用1的录音采样参数可以与应用2的录音采样参数部分相同(例如两个应用的采样率和采样精度相同,两个应用的采样通道数量不同)。N个应用的录音采样参数可以完全不同的(例如两个应用的采样率、采样精度或采样通道数量均不相同)。
S302、获取目标录音采样参数。
在一种可能的实施方式中,录音采样参数包括以下参数中的至少一种:采样率、采样精度或采样通道数量,目标录音采样参数包括以下参数中的至少一种:N个应用的录音采样参数中的最大采样率、N个应用的录音采样参数中的最大采样精度或N个应用的录音采样参数中的最大采样通道数量。也就是说,目标录音采样参数根据N个应用的录音采样参数确定得到的。
可选的,针对同时接收到N个应用的录音采样参数(也就是N个应用同时调用数据)的情况,从N个应用对应的N个录音采样参数中选择最大的录音采样参数作为目标录音采样参数。如果N个应用的录音采样参数包括:采样率、采样精度或采样通道数量,则从N个应用的录音采样参数中分别选取出最大的采样率、采样精度或采样通道数量做为目标录音采样参数。
示例性的,现有三个应用:应用1、应用2、应用3。其中应用1、应用2、应用3对应的录音采样参数分别为录音采样参数1、录音采样参数2、录音采样参数3。录音采样参数1包含采样率1、采样精度1、采样通道数量1;录音采样参数2包含采样率2、采样精度2、采样通道数量2;录音采样参数3包含采样率3、采样精度3、采样通道数量3。其中,三个应用对应的三个采样率之间的大小关系为:采样率1>采样率2>采样率3;三个应用对应的三个采样精度之间的大小关系为:采样精度2>采样精度1>采样精度3;三个应用对应的三个采样通道数量之间的大小关系为:采样通道数量3>采样通道数量2>采样通道数量1。则上述从N个应用的录音采样参数中选取采样率、采样精度或采样通道数量最大的作为目标录音采样参数,也就是选择采样率1、采样精度2以及采样通道数量3作为目标录音采样参数。
可选的,上述内容是针对多个应用同时调用数据的情况。而针对在第一应用基于第一应用的录音采样参数进行录音的过程中,第二应用调用数据的情况。处理方案可以为:首先获取第二应用的录音采样参数,然后将该第二应用的录音采样参数与第一应用的录音采样参数进行对比。如果第一应用的录音采样参数大于第二应用的录音采样参数,则继续基于该第一应用的录音采样参数进行录音,得到录音数据(该录音数据为第一应用对应的录音数据),然后再基于第二应用对应的录音采样参数对该录音数据进行处理得到第二应用对应的录音数据。如果第二应用的录音采样参数大于第一应用的录音采样参数,则基于该第二应用的录音采样参数进行录音,得到录音数据(该录音数据为第二应用对应的录音数据),然后再基于第一应用对应的录音采样参数对该录音数据进行处理得到第一应用对应的录音数据。
在一种可能的实施方式中,目标录音采样参数为预设录音采样参数。该预设录音采样参数为包含的各个参数均比N个应用的录音采样参数包含的各个参数大的参数。
其中,录音采样参数包括以下参数中的至少一种:采样率、采样精度或采样通道数量,目标录音采样参数包括以下参数中的至少一种:目标采样率、目标采样精度或目标采样通道数量,目标采样率大于或等于N个应用的录音采样参数中的最大采样率,目标采样精度大于或等于N个应用的录音采样参数中的最大采样精度,目标采样通道数量大于或等于N个应用的录音采样参数中的最大采样通道数量。
示例性的,现有三个应用:应用1、应用2、应用3。其中应用1、应用2、应用3对应的录音采样参数分别为录音采样参数1、录音采样参数2、录音采样参数3。录音采样参数1包含采样率1、采样精度1、采样通道数量1;录音采样参数2包含采样率2、采样精度2、采样通道数量2;录音采样参数3包含采样率3、采样精度3、采样通道数量3。其中,三个应用对应的三个采样率之间的大小关系为:采样率1>采样率2>采样率3;三个应用对应的三个采样精度之间的大小关系为:采样精度2>采样精度1>采样精度3;三个应用对应的三个采样通道数量之间的大小关系为:采样通道数量3>采样通道数量2>采样通道数量1。预设采样参数包括:预设采样率、预设采样精度、预设采样通道数量。则该预设采样参数包含的预设采样率、预设采样精度、预设采样通道数量满足:预设采样率>采样率1,并且预设采样精度>采样精度2,并且预设采样通道数量>采样通道数量3。
通过选取最大N个应用的录音采样参数进行录音,便于后续对录音数据进行二次采样,得到应用对应的录音数据。
S303、基于目标录音采样参数进行录音,得到录音数据。
可选的,根据目标录音采样参数包括的以下参数中的至少一种:采样率、采样精度或采样通道数量进行录音,得到录音数据。如果所述目标录音采样参数只包含采样率,则采样精度或采样通道数量可以为预设的默认值。同理,如果所述目标录音采样参数只包含采样精度,则采样率或采样通道数量可以为预设的默认值。以此类推,在此不再赘述。
S304、基于N个应用的录音采样参数对录音数据进行处理,得到N个应用对应的录音数据。
可选的,根据N个应用的录音采样参数对录音数据进行二次采样,得到N个应用对应的录音数据。其中,如果目标录音采样参数为N个应用的录音采样参数中的一个,则该目标录音采样参数对应的应用不需要再进行二次采样。
示例性的,现有三个应用:应用1、应用2、应用3,这三个应用对应的录音采样参数分别为:录音采样参数1、录音采样参数2、录音采样参数3。其中录音采样参数1为目标录音采样参数。首先基于录音采样参数1进行录音,得到应用1对应的录音数据1。然后基于录音采样参数2对录音数据1进行采样,得到应用2对应的录音数据2。再基于录音采样参数3对录音数据1进行采样,得到应用3对应的录音数据3。
可选的,目标录音采样参数为预设录音采样参数,则根据N个应用的录音采样参数分别对录音数据进行二次采样,得到N个应用对应的录音数据。示例性的,现有三个应用:应用1、应用2、应用3,这三个应用对应的录音采样参数分别为:录音采样参数1、录音采样参数2、录音采样参数3。其中录音采样参数1为目标录音采样参数。首先基于预设录音采样参数进行录音,得到预设录音采样参数对应的录音数据,然后基于录音采样参数1、录音采样参数2、录音采样参数3分别对该录音数据进行采样,得到应用1、应用2、应用3分别对应的录音数据。
在一种可能的实施例中,针对基于目标录音采样参数进行录音,得到录音数据之后,该方法还可以包括:将录音数据缓存至数据缓存区域;针对基于N个应用的录音采样参数对录音数据进行处理,得到N个应用对应的录音数据,可以具体为:从数据缓存区域中读取录音数据,并基于N个应用的录音采样参数对录音数据进行处理,得到N个应用对应的录音数据。
其中,数据缓存区域可以是环形缓存区,使用环形缓存区不用频繁的分配内存,该环形缓存区遵循先进选出的原则,也就是说如果存入环形缓存区的顺序为:数据1—数据2—数据3,则从环形缓存区内读取的顺序也是按照:数据1—数据2—数据3的顺序。
可选的,该数据缓存区域可以通过以下方式定义:
struct int in_buf_list{
sem_t valid_sem;
int16_t*buffer;}
其中,int_buf_list为定义的一个数据缓存区域结构体,该数据缓存区域包括两个成员:valid_sem和buffer,valid_sem是用来标识消费者(应用)数量的信号量,buffer用来存储MIC的数据。每当一个应用读取后,该消费者(应用)数量的信号量的数值对应减1。
可选的,该数据缓存区域的管理可以通过以下方式定义:
struct in_buf_manager{
int in_index;
struct in_buf_list in_buf_index[in_buf_maxnum];}
其中,in_buf_manager为一个结构体,该管理数据缓存区域结构体包括两个成员:in_index和in_buf_list。in_index指示当前环形buffer的序号,in_buf_index是指向第一个结构体in_buf_list的数组,in_buf_maxnum为预设数值,该in_buf_maxnum用来定义数据缓存区域的大小。
为了更好的理解上述数据缓存区域,下面用一个例子做进一步解释。示例性的,in_buf_maxnum预设为16,则数据缓存区域包含16个数组。基于目标录音采样参数按照一帧20ms进行录音后,得到录音数据。将该录音数据缓存进数据缓存区域中,该数据缓存区域的16个数组中的每一个数组存储一帧20ms的数据。应用1读取数据时,每读完一帧20ms的数据后,in_index加1指向下一个buffer(数组),并且将消费者(应用)的信号量valid_sem值减1。以此类推,直到应用1不再调用该数据。同理,在应用1对数据缓存区内的数据进行读取的过程中,应用2也是以相同的方式对缓存区内的数据进行读取。
下面结合图4对本方案做进一步的解释。如图4所示,图4中应用APP(应用)可以通过MediaRecoder框架类创建录音对象,从而实现对录音的管理。图4中MediaRecoderService本地服务提供录音的本地服务。图4中StagefrightRecoder多媒体框架用于创建具体的录音实例。图4中AudioRecord音频管理类用于让各应用能够管理音频资源,以便各应用通过该类能够录制平台的声音。图4中AudioSource音频流处理类用于生成连续的音频流,供其他环节使用。图4中录音通路处理AudioFlinger用于管理录音通路、音量控制以及声音流的属性等,并且具有二次采样的功能。
在一种可能的实施例中,首先将目标录音采样参数传输至上述介绍的HAL层中的Audio模块中,然后由Audio模块根据该目标录音采样参数对麦克风进行采样,得到录音数据。Audio模块将该录音数据缓存进环形buffer中。多个应用APP将对应的录音采样参数发送给对应的AudioFlinger,多个AudioFlinger读取环形buffer内的数据,并根据获取到的录音采样参数对读取到的数据进行二次采样,以得到各个APP对应的录音数据。然后将该各个APP对应的录音数据写入文件中,以供上层的APP进行调用。
示例性的,三个应用:APP1、APP2以及APP3对应的录音采样参数分别为:录音采样参数1、录音采样参数2、录音采样参数3。其中三个录音采样参数之间的大小关系为:录音采样参数3>录音采样参数2>录音采样参数1。APP1和APP2同时调用数据。将APP1对应的录音采样参数1与APP2录音采样参数2进行比较后,将较大的录音采样参数2作为目标录音采样参数,将该录音采样参数2作为如图4所示的参数最优设置,传送给HAL层中的Audio模块,将录音采样参数1传送给录音通路处理AudioFlinger。然后Audio模块根据录音采样参数2控制PCM驱动进行录音,得到APP2对应的录音数据2。再将录音数据2缓存进环形buffer(数据缓存区域)中。APP1对应的录音通路处理AudioFlinger从环形buffer中读取录音数据2后,根据录音采样参数1对录音数据2进行二次采样,得到APP1对应的录音数据1,最后将录音数据2与录音数据1写入文件中以供APP调用。在根据录音采样参数2作为参数最优设置采样的过程中,APP3调用数据时,将APP3对应的录音采样参数3与录音采样参数2进行对比,将参数最优设置更改为比录音采样参数2更大的录音采样参数3。然后根据录音采样参数3进行录音,得到录音数据3。此时,将录音数据3缓存进环形buffer中,APP1和APP2对应的录音通路处理AudioFlinger从环形buffer中读取录音数据3后,根据录音采样参数1和录音采样参数2对录音数据3进行二次采样,得到APP1对应的录音数据1以及APP2对应的录音数据2,最后将录音数据1、录音数据2以及录音数据3发送至OMX code编码模块进行编码,再将编码后的录音数据通过音频封装类MPEG4Writer进行音频封装后写入文件中。
参见图5,图5是本申请实施例提供的数据处理装置的结构示意图。本申请实施例提供的数据处理装置包括:
如图5所示的501为获取单元501,用于获取N个应用的录音采样参数,N为正整数。该获取单元501,还用于获取目标录音采样参数。502为处理单元502,用于基于目标录音采样参数进行录音,得到录音数据。该处理单元502,还用于基于N个应用的录音采样参数对录音数据进行处理,得到N个应用对应的录音数据。
在另一种实现中,处理单元502,还用于基于N个应用的录音采样参数确定目标录音采样参数。
在另一种实现中,录音采样参数包括以下参数中的至少一种:采样率、采样精度或采样通道数量,目标录音采样参数包括以下参数中的至少一种:N个应用的录音采样参数中的最大采样率、N个应用的录音采样参数中的最大采样精度或N个应用的录音采样参数中的最大采样通道数量。
在另一种实现中,目标录音采样参数为预设录音采样参数。
在另一种实现中,录音采样参数包括以下参数中的至少一种:采样率、采样精度或采样通道数量,目标录音采样参数包括以下参数中的至少一种:目标采样率、目标采样精度或目标采样通道数量,目标采样率大于或等于N个应用的录音采样参数中的最大采样率,目标采样精度大于或等于N个应用的录音采样参数中的最大采样精度,目标采样通道数量大于或等于N个应用的录音采样参数中的最大采样通道数量。
在另一种实现中,处理单元502,还用于将录音数据缓存至数据缓存区域。并且数据缓存区域中读取录音数据;处理单元502,还用于基于N个应用的录音采样参数对录音数据进行处理,得到N个应用对应的录音数据。
可以理解的是,本申请实施例提供的数据处理装置的各功能单元的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例中的相关描述,此处不再赘述。
在可行的实施例中,本申请实施例提供的数据处理装置可以采用软件方式实现,数据处理装置可以存储在存储器中,其可以是程序和插件等形式的软件,并包括一系列的单元,包括获取单元和处理单元;其中,获取单元和处理单元用于实现本申请实施例提供的数据处理方法。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时实现图2中各个步骤所提供的数据处理方法,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。
上述计算机可读存储介质可以是前述任一实施例提供的推荐模型训练装置或者上述终端设备的内部存储单元,例如电子设备的硬盘或内存。该计算机可读存储介质也可以是该电子设备的外部存储设备,例如该电子设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该电子设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该电子设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请的权利要求书和说明书及附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请的具体实施方式中,涉及到用户信息(如录音采样参数等)相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置展示该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例提供的方法及相关装置是参照本申请实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
Claims (10)
1.一种数据处理方法,其特征在于,所述方法包括:
获取N个应用的录音采样参数,所述N为正整数;
获取目标录音采样参数;
基于所述目标录音采样参数进行录音,得到录音数据;
基于所述N个应用的录音采样参数对所述录音数据进行处理,得到所述N个应用对应的录音数据。
2.根据权利要求1所述的方法,其特征在于,所述获取目标录音采样参数,包括:
基于所述N个应用的录音采样参数确定目标录音采样参数。
3.根据权利要求2所述的方法,其特征在于,所述录音采样参数包括以下参数中的至少一种:采样率、采样精度或采样通道数量,所述目标录音采样参数包括以下参数中的至少一种:所述N个应用的录音采样参数中的最大采样率、所述N个应用的录音采样参数中的最大采样精度或所述N个应用的录音采样参数中的最大采样通道数量。
4.根据权利要求2所述的方法,其特征在于,所述目标录音采样参数为预设录音采样参数。
5.根据权利要求4所述的方法,其特征在于,所述录音采样参数包括以下参数中的至少一种:采样率、采样精度或采样通道数量,所述目标录音采样参数包括以下参数中的至少一种:目标采样率、目标采样精度或目标采样通道数量,所述目标采样率大于或等于所述N个应用的录音采样参数中的最大采样率,所述目标采样精度大于或等于所述N个应用的录音采样参数中的最大采样精度,所述目标采样通道数量大于或等于所述N个应用的录音采样参数中的最大采样通道数量。
6.根据权利要求1所述的方法,其特征在于,所述基于所述目标录音采样参数进行录音,得到录音数据之后,所述方法还包括:
将所述录音数据缓存至数据缓存区域;
所述基于所述N个应用的录音采样参数对所述录音数据进行处理,得到所述N个应用对应的录音数据,包括:
从所述数据缓存区域中读取所述录音数据,并基于所述N个应用的录音采样参数对所述录音数据进行处理,得到所述N个应用对应的录音数据。
7.一种数据处理装置,其特征在于,所述装置包括:
获取单元,用于获取N个应用的录音采样参数,所述N为正整数;
所述获取单元,还用于获取目标录音采样参数;
处理单元,用于基于所述目标录音采样参数进行录音,得到录音数据;
所述处理单元,还用于基于所述N个应用的录音采样参数对所述录音数据进行处理,得到所述N个应用对应的录音数据。
8.一种计算机设备,其特征在于,包括:处理器、通信接口和存储器,所述处理器、所述通信接口和所述存储器相互连接,其中,所述存储器存储有可执行程序代码,所述处理器用于调用所述可执行程序代码,执行如权利要求1-6中任一项所述的数据处理方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如权利要求1-6中任一项所述的数据处理方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序或计算机指令,所述计算机程序或计算机指令被处理器执行时实现如权利要求1-7中任一项所述的数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210096680.6A CN114496007A (zh) | 2022-01-26 | 2022-01-26 | 数据处理方法、装置、设备、存储介质及计算机程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210096680.6A CN114496007A (zh) | 2022-01-26 | 2022-01-26 | 数据处理方法、装置、设备、存储介质及计算机程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114496007A true CN114496007A (zh) | 2022-05-13 |
Family
ID=81477024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210096680.6A Pending CN114496007A (zh) | 2022-01-26 | 2022-01-26 | 数据处理方法、装置、设备、存储介质及计算机程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114496007A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117389507A (zh) * | 2023-12-12 | 2024-01-12 | 荣耀终端有限公司 | 音频数据处理方法、电子设备及存储介质 |
-
2022
- 2022-01-26 CN CN202210096680.6A patent/CN114496007A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117389507A (zh) * | 2023-12-12 | 2024-01-12 | 荣耀终端有限公司 | 音频数据处理方法、电子设备及存储介质 |
CN117389507B (zh) * | 2023-12-12 | 2024-05-10 | 荣耀终端有限公司 | 音频数据处理方法、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3896946A1 (en) | Display method for electronic device having flexible screen and electronic device | |
CN110223684A (zh) | 一种语音唤醒方法及设备 | |
CN107888765B (zh) | 一种切换场景模式的方法、移动终端 | |
CN108958936B (zh) | 应用程序切换方法、移动终端及计算机可读存储介质 | |
CN109639999B (zh) | 视频通话数据的优化方法、移动终端及可读存储介质 | |
CN107911777B (zh) | 一种耳返功能的处理方法、装置及移动终端 | |
CN110399195B (zh) | 一种桌面图标动态替换方法、设备及计算机可读存储介质 | |
CN109995391B (zh) | 一种图片显示方法、智能穿戴终端及计算机可读存储介质 | |
CN108874554A (zh) | 信息通信方法及装置 | |
CN109117069B (zh) | 一种界面操作方法、终端及计算机可读存储介质 | |
CN114496007A (zh) | 数据处理方法、装置、设备、存储介质及计算机程序产品 | |
CN108769206A (zh) | 数据同步方法、终端及存储介质 | |
CN110086808B (zh) | 一种账户登录控制方法、设备及计算机可读存储介质 | |
CN109800097B (zh) | 通知消息提醒方法、存储介质和移动终端 | |
CN111385513B (zh) | 通话方法以及相关设备 | |
CN110753391B (zh) | 一种信息的传输方法、装置及电子设备 | |
CN110213441B (zh) | 一种语音控制方法、可穿戴设备和计算机可读存储介质 | |
CN110138965B (zh) | 一种可穿戴设备及其号码格式化的方法、装置及存储介质 | |
CN115567817B (zh) | 一种音频输出设备工作模式的设置方法及电子设备 | |
CN111107225B (zh) | 一种交互通信方法及电子设备 | |
CN116048236B (zh) | 通信方法及相关装置 | |
CN115277928B (zh) | 处理方法、智能终端及存储介质 | |
CN112887477B (zh) | 语音处理方法、装置、移动终端及计算机可读存储介质 | |
CN110752867B (zh) | 一种网络匹配方法、装置及电子设备 | |
CN113132121B (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 |