数据处理方法、装置、设备、存储介质及计算机程序产品与流程



1.本技术涉及计算机技术领域,尤其涉及数据处理方法、数据处理装置、计算机设备、计算机可读存储介质及计算机程序产品。


背景技术:



2.随着通信网络和移动终端的快速发展,移动终端上的应用也越来越丰富。人们可以通过移动终端上的麦克风、摄像头等硬件,实现打电话、录音、拍照等功能。然而随着应用功能的丰富,同一份数据往往可能被多个应用调用,例如,的时候对通话内容进行录音等。
3.现有的技术在移动终端设备只有一个麦克风的情况下,由于不同应用对录音的采样率、采样位数等参数的要求不同,所述只能允许一个应用去调用麦克风的采样数据,如果另外的应用需要调用该麦克风的采样数据,需要等待当前应用调用完成或者关闭当前正在使用的应用。


技术实现要素:



4.本技术实施例提供了一数据处理方法、装置、计算机设备及存储介质,可以实现多个应用同时获取到符合应用采样要求的录音数据。
5.一方面,本技术实施例提供了一种数据处理方法,所述方法包括:
6.获取n个应用的录音采样参数,所述n为正整数;
7.获取目标录音采样参数;
8.基于所述目标录音采样参数进行录音,得到录音数据;
9.基于所述n个应用的录音采样参数对所述录音数据进行处理,得到所述n个应用对应的录音数据。
10.在一种可能的实施方式中,所述获取目标录音采样参数,包括:
11.基于所述n个应用的录音采样参数确定目标录音采样参数。
12.在一种可能的实施方式中,所述录音采样参数包括以下参数中的至少一种:采样率、采样精度或采样通道数量,所述目标录音采样参数包括以下参数中的至少一种:所述n个应用的录音采样参数中的最大采样率、所述n个应用的录音采样参数中的最大采样精度或所述n个应用的录音采样参数中的最大采样通道数量。
13.在一种可能的实施方式中,所述目标录音采样参数为预设录音采样参数。
14.在一种可能的实施方式中,所述录音采样参数包括以下参数中的至少一种:采样率、采样精度或采样通道数量,所述目标录音采样参数包括以下参数中的至少一种:目标采样率、目标采样精度或目标采样通道数量,所述目标采样率大于或等于所述n个应用的录音采样参数中的最大采样率,所述目标采样精度大于或等于所述n个应用的录音采样参数中的最大采样精度,所述目标采样通道数量大于或等于所述n个应用的录音采样参数中的最大采样通道数量。
15.在一种可能的实施方式中,所述基于所述目标录音采样参数进行录音,得到录音数据之后,所述方法还包括:
16.将所述录音数据缓存至数据缓存区域;
17.所述基于所述n个应用的录音采样参数对所述录音数据进行处理,得到所述n个应用对应的录音数据,包括:
18.从所述数据缓存区域中读取所述录音数据,并基于所述n个应用的录音采样参数对所述录音数据进行处理,得到所述n个应用对应的录音数据。
19.另一方面,本技术实施例提供了一种数据处理装置,所述装置包括:
20.获取单元,用于获取n个应用的录音采样参数,所述n为正整数;
21.处理单元,用于获取目标录音采样参数;
22.所述处理单元,还用于基于所述目标录音采样参数进行录音,得到录音数据;
23.所述处理单元,还用于基于所述n个应用的录音采样参数对所述录音数据进行处理,得到所述n个应用对应的录音数据。
24.在一种可能的实施方式中,所述处理单元,还用于基于所述n个应用的录音采样参数确定目标录音采样参数。
25.在一种可能的实施方式中,所述录音采样参数包括以下参数中的至少一种:采样率、采样精度或采样通道数量,所述目标录音采样参数包括以下参数中的至少一种:所述n个应用的录音采样参数中的最大采样率、所述n个应用的录音采样参数中的最大采样精度或所述n个应用的录音采样参数中的最大采样通道数量。
26.在一种可能的实施方式中,所述目标录音采样参数为预设录音采样参数。
27.在一种可能的实施方式中,所述录音采样参数包括以下参数中的至少一种:采样率、采样精度或采样通道数量,所述目标录音采样参数包括以下参数中的至少一种:目标采样率、目标采样精度或目标采样通道数量,所述目标采样率大于或等于所述n个应用的录音采样参数中的最大采样率,所述目标采样精度大于或等于所述n个应用的录音采样参数中的最大采样精度,所述目标采样通道数量大于或等于所述n个应用的录音采样参数中的最大采样通道数量。
28.在一种可能的实施方式中,所述处理单元,还用于将所述录音数据缓存至数据缓存区域;所述处理单元,还用于从所述数据缓存区域中读取所述录音数据,并基于所述n个应用的录音采样参数对所述录音数据进行处理,得到所述n个应用对应的录音数据。
29.再一方面,本技术实施例提供了一种计算机设备,该计算机设备包括:处理器、存储器以及网络接口;处理器与存储器、网络接口相连,其中,网络接口用于提供网络通信功能,存储器用于存储程序代码,处理器用于调用程序代码,以执行本技术实施例中的数据处理方法。
30.相应地,本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时,执行本技术实施例中的数据处理方法。
31.相应地,本技术实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序或计算机指令,所述计算机程序或计算机指令被处理器执行时实现本技术实施例提供的数据处理方法的步骤。
code 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等。
44.wifi属于短距离无线传输技术,终端通过wifi模块102可以帮助用户收发、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图1示出了wifi模块102,但是可以理解的是,其并不属于终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
45.音频输出单元103可以在终端100处于呼叫信号接收模式、通话模式、记录模式、语音识别模式、广播接收模式等等模式下时,将射频单元101或wifi模块102接收的或者在存储器109中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元103还可以提供与终端100执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元103可以包括扬声器、蜂鸣器等等。
46.a/v输入单元104用于接收音频或视频信号。a/v输入单元104可以包括图形处理器(graphics processing unit,gpu)1041和麦克风1042,图形处理器1041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元106上。经图形处理器1041处理后的图像帧可以存储在存储器109(或其它存储介质)中或者经由射频单元101或wifi模块102进行发送。麦克风1042可以在电话通话模式、记录模式、语音识别模式等等运行模式中经由麦克风1042接收声音(音频数据),并且能够将这样的声音处理为音频数据。处理后的音频(语音)数据可以在电话通话模式的情况下转换为可经由射频单元101发送到移动通信的格式输出。麦克风1042可以实施各种类型的噪声消除(或抑制)算法以消除(或抑制)在接收和发送音频信号的过程中产生的噪声或者干扰。
47.终端100还包括至少一种传感器105,比如光传感器、运动传感器以及其他传感器。可选地,光传感器包括环境光传感器及接近传感器,可选地,环境光传感器可根据环境光线的明暗来调节显示面板1061的亮度,接近传感器可在终端100移动到耳边时,关闭显示面板1061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
48.显示单元106用于显示由用户输入的信息或提供给用户的信息。显示单元106可包括显示面板1061,可以采用液晶显示器(liquid crystal display,lcd)、有机发光二极管(organic light-emitting diode,oled)等形式来配置显示面板1061。
49.用户输入单元107可用于接收输入的数字或字符信息,以及产生与终端的用户设置以及功能控制有关的键信号输入。可选地,用户输入单元107可包括触控面板1071以及其他输入设备1072。触控面板1071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1071上或在触控面板1071附近的操作),并根据预先设定的程式驱动相应的连接装置。触控面板1071可包括触摸检测装置
和触摸控制器两个部分。可选地,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器110,并能接收处理器110发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1071。除了触控面板1071,用户输入单元107还可以包括其他输入设备1072。可选地,其他输入设备1072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种,具体此处不做限定。
50.可选地,触控面板1071可覆盖显示面板1061,当触控面板1071检测到在其上或附近的触摸操作后,传送给处理器110以确定触摸事件的类型,随后处理器110根据触摸事件的类型在显示面板1061上提供相应的视觉输出。虽然在图1中,触控面板1071与显示面板1061是作为两个独立的部件来实现终端的输入和输出功能,但是在某些实施例中,可以将触控面板1071与显示面板1061集成而实现终端的输入和输出功能,具体此处不做限定。
51.接口单元108用作至少一个外部装置与终端100连接可以通过的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(i/o)端口、视频i/o端口、耳机端口等等。接口单元108可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到终端100内的一个或多个元件或者可以用于在终端100和外部装置之间传输数据。
52.存储器109可用于存储软件程序以及各种数据。存储器109可主要包括存储程序区和存储数据区,可选地,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器109可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
53.处理器110是终端的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器109内的软件程序和/或模块,以及调用存储在存储器109内的数据,执行终端的各种功能和处理数据,从而对终端进行整体监控。处理器110可包括一个或多个处理单元;优选的,处理器110可集成应用处理器和调制解调处理器,可选地,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器110中。该处理器110可用于执行图3和图4提供的实施例。
54.终端100还可以包括给各个部件供电的电源111(比如电池),优选的,电源111可以通过电源管理系统与处理器110逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
55.请参见图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内核来执行底层功能。
56.请参见图3,图3是本技术实施例提供的一种数据处理方法的流程示意图。图3中以上述设备作为该方法的执行主体为例,本技术并不限制该方法的执行主体。例如,图3中的设备也可以是支持该设备实现该方法的芯片、芯片系统、或处理器,还可以是能实现全部或部分数据处理设备功能的逻辑模块或软件。
57.其中:
58.s301、获取n个应用的录音采样参数,n为正整数。
59.在一种可能的实施方式中,录音采样参数包括以下参数中的至少一种:采样率、采样精度或采样通道数量。其中,采样率也就是采样频率,指每秒钟取得声音样本的次数;采样精度也就是采样位数,理解为对声音的解析度,采样精度越大,解析度就越高,声音就越真实;采样通道数量指的是声音的通道的数目,例如单声道和立体声中,单声道的声音仅仅能使用一个喇叭发声(也就是说通道数为1),立体声能够使两个喇叭都发声(也就是说通道数为2)。
60.可选的,录音采样参数可以是采样率、采样精度或采样通道数量中的一种(例如录音采样参数为采样率);录音采样参数也可以是采样率、采样精度或采样通道数量中的任意两种(例如录音采样参数为采样精度和采样通道数量);录音采样参数也可以是包含采样率、采样精度或采样通道数量。需要说明的是,录音采样参数还可以包含除上述采样率、采样精度或采样通道数量以外的其他采样参数(例如比特率等)。
61.其中,在上述录音采样参数包含多种参数的情况下,n个应用的录音采样参数可以是完全相同的,例如应用1的录音采样参数可以与应用2的录音采样参数完全相同(两个应用的采样率、采样精度或采样通道数量均相同)。n个应用的录音采样参数可以是部分相同的,例如应用1的录音采样参数可以与应用2的录音采样参数部分相同(例如两个应用的采样率和采样精度相同,两个应用的采样通道数量不同)。n个应用的录音采样参数可以完全不同的(例如两个应用的采样率、采样精度或采样通道数量均不相同)。
62.s302、获取目标录音采样参数。
63.在一种可能的实施方式中,录音采样参数包括以下参数中的至少一种:采样率、采样精度或采样通道数量,目标录音采样参数包括以下参数中的至少一种:n个应用的录音采样参数中的最大采样率、n个应用的录音采样参数中的最大采样精度或n个应用的录音采样参数中的最大采样通道数量。也就是说,目标录音采样参数根据n个应用的录音采样参数确定得到的。
64.可选的,针对同时接收到n个应用的录音采样参数(也就是n个应用同时调用数据)的情况,从n个应用对应的n个录音采样参数中选择最大的录音采样参数作为目标录音采样参数。如果n个应用的录音采样参数包括:采样率、采样精度或采样通道数量,则从n个应用的录音采样参数中分别选取出最大的采样率、采样精度或采样通道数量做为目标录音采样参数。
65.示例性的,现有三个应用:应用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作为目标录音采样参数。
66.可选的,上述内容是针对多个应用同时调用数据的情况。而针对在第一应用基于第一应用的录音采样参数进行录音的过程中,第二应用调用数据的情况。处理方案可以为:首先获取第二应用的录音采样参数,然后将该第二应用的录音采样参数与第一应用的录音采样参数进行对比。如果第一应用的录音采样参数大于第二应用的录音采样参数,则继续基于该第一应用的录音采样参数进行录音,得到录音数据(该录音数据为第一应用对应的录音数据),然后再基于第二应用对应的录音采样参数对该录音数据进行处理得到第二应用对应的录音数据。如果第二应用的录音采样参数大于第一应用的录音采样参数,则基于该第二应用的录音采样参数进行录音,得到录音数据(该录音数据为第二应用对应的录音数据),然后再基于第一应用对应的录音采样参数对该录音数据进行处理得到第一应用对应的录音数据。
67.在一种可能的实施方式中,目标录音采样参数为预设录音采样参数。该预设录音采样参数为包含的各个参数均比n个应用的录音采样参数包含的各个参数大的参数。
68.其中,录音采样参数包括以下参数中的至少一种:采样率、采样精度或采样通道数量,目标录音采样参数包括以下参数中的至少一种:目标采样率、目标采样精度或目标采样通道数量,目标采样率大于或等于n个应用的录音采样参数中的最大采样率,目标采样精度大于或等于n个应用的录音采样参数中的最大采样精度,目标采样通道数量大于或等于n个应用的录音采样参数中的最大采样通道数量。
69.示例性的,现有三个应用:应用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。
70.通过选取最大n个应用的录音采样参数进行录音,便于后续对录音数据进行二次采样,得到应用对应的录音数据。
71.s303、基于目标录音采样参数进行录音,得到录音数据。
72.可选的,根据目标录音采样参数包括的以下参数中的至少一种:采样率、采样精度或采样通道数量进行录音,得到录音数据。如果所述目标录音采样参数只包含采样率,则采样精度或采样通道数量可以为预设的默认值。同理,如果所述目标录音采样参数只包含采样精度,则采样率或采样通道数量可以为预设的默认值。以此类推,在此不再赘述。
73.s304、基于n个应用的录音采样参数对录音数据进行处理,得到n个应用对应的录音数据。
74.可选的,根据n个应用的录音采样参数对录音数据进行二次采样,得到n个应用对应的录音数据。其中,如果目标录音采样参数为n个应用的录音采样参数中的一个,则该目标录音采样参数对应的应用不需要再进行二次采样。
75.示例性的,现有三个应用:应用1、应用2、应用3,这三个应用对应的录音采样参数分别为:录音采样参数1、录音采样参数2、录音采样参数3。其中录音采样参数1为目标录音采样参数。首先基于录音采样参数1进行录音,得到应用1对应的录音数据1。然后基于录音采样参数2对录音数据1进行采样,得到应用2对应的录音数据2。再基于录音采样参数3对录音数据1进行采样,得到应用3对应的录音数据3。
76.可选的,目标录音采样参数为预设录音采样参数,则根据n个应用的录音采样参数分别对录音数据进行二次采样,得到n个应用对应的录音数据。示例性的,现有三个应用:应用1、应用2、应用3,这三个应用对应的录音采样参数分别为:录音采样参数1、录音采样参数2、录音采样参数3。其中录音采样参数1为目标录音采样参数。首先基于预设录音采样参数进行录音,得到预设录音采样参数对应的录音数据,然后基于录音采样参数1、录音采样参数2、录音采样参数3分别对该录音数据进行采样,得到应用1、应用2、应用3分别对应的录音数据。
77.在一种可能的实施例中,针对基于目标录音采样参数进行录音,得到录音数据之后,该方法还可以包括:将录音数据缓存至数据缓存区域;针对基于n个应用的录音采样参数对录音数据进行处理,得到n个应用对应的录音数据,可以具体为:从数据缓存区域中读取录音数据,并基于n个应用的录音采样参数对录音数据进行处理,得到n个应用对应的录音数据。
78.其中,数据缓存区域可以是环形缓存区,使用环形缓存区不用频繁的分配内存,该环形缓存区遵循先进选出的原则,也就是说如果存入环形缓存区的顺序为:数据1—数据2—数据3,则从环形缓存区内读取的顺序也是按照:数据1—数据2—数据3的顺序。
79.可选的,该数据缓存区域可以通过以下方式定义:
80.struct int in_buf_list{
81.sem_t valid_sem;
82.int16_t*buffer;}
83.其中,int_buf_list为定义的一个数据缓存区域结构体,该数据缓存区域包括两
个成员:valid_sem和buffer,valid_sem是用来标识消费者(应用)数量的信号量,buffer用来存储mic的数据。每当一个应用读取后,该消费者(应用)数量的信号量的数值对应减1。
84.可选的,该数据缓存区域的管理可以通过以下方式定义:
85.struct in_buf_manager{
86.int in_index;
87.struct in_buf_list in_buf_index[in_buf_maxnum];}
[0088]
其中,in_buf_manager为一个结构体,该管理数据缓存区域结构体包括两个成员:in_index和in_buf_list。in_index指示当前环形buffer的序号,in_buf_index是指向第一个结构体in_buf_list的数组,in_buf_maxnum为预设数值,该in_buf_maxnum用来定义数据缓存区域的大小。
[0089]
为了更好的理解上述数据缓存区域,下面用一个例子做进一步解释。示例性的,in_buf_maxnum预设为16,则数据缓存区域包含16个数组。基于目标录音采样参数按照一帧20ms进行录音后,得到录音数据。将该录音数据缓存进数据缓存区域中,该数据缓存区域的16个数组中的每一个数组存储一帧20ms的数据。应用1读取数据时,每读完一帧20ms的数据后,in_index加1指向下一个buffer(数组),并且将消费者(应用)的信号量valid_sem值减1。以此类推,直到应用1不再调用该数据。同理,在应用1对数据缓存区内的数据进行读取的过程中,应用2也是以相同的方式对缓存区内的数据进行读取。
[0090]
下面结合图4对本方案做进一步的解释。如图4所示,图4中应用app(应用)可以通过mediarecoder框架类创建录音对象,从而实现对录音的管理。图4中mediarecoderservice本地服务提供录音的本地服务。图4中stagefrightrecoder多媒体框架用于创建具体的录音实例。图4中audiorecord音频管理类用于让各应用能够管理音频资源,以便各应用通过该类能够录制平台的声音。图4中audiosource音频流处理类用于生成连续的音频流,供其他环节使用。图4中录音通路处理audioflinger用于管理录音通路、音量控制以及声音流的属性等,并且具有二次采样的功能。
[0091]
在一种可能的实施例中,首先将目标录音采样参数传输至上述介绍的hal层中的audio模块中,然后由audio模块根据该目标录音采样参数对麦克风进行采样,得到录音数据。audio模块将该录音数据缓存进环形buffer中。多个应用app将对应的录音采样参数发送给对应的audioflinger,多个audioflinger读取环形buffer内的数据,并根据获取到的录音采样参数对读取到的数据进行二次采样,以得到各个app对应的录音数据。然后将该各个app对应的录音数据写入文件中,以供上层的app进行调用。
[0092]
示例性的,三个应用: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进行音频封装后写入文件中。
[0093]
参见图5,图5是本技术实施例提供的数据处理装置的结构示意图。本技术实施例提供的数据处理装置包括:
[0094]
如图5所示的501为获取单元501,用于获取n个应用的录音采样参数,n为正整数。该获取单元501,还用于获取目标录音采样参数。502为处理单元502,用于基于目标录音采样参数进行录音,得到录音数据。该处理单元502,还用于基于n个应用的录音采样参数对录音数据进行处理,得到n个应用对应的录音数据。
[0095]
在另一种实现中,处理单元502,还用于基于n个应用的录音采样参数确定目标录音采样参数。
[0096]
在另一种实现中,录音采样参数包括以下参数中的至少一种:采样率、采样精度或采样通道数量,目标录音采样参数包括以下参数中的至少一种:n个应用的录音采样参数中的最大采样率、n个应用的录音采样参数中的最大采样精度或n个应用的录音采样参数中的最大采样通道数量。
[0097]
在另一种实现中,目标录音采样参数为预设录音采样参数。
[0098]
在另一种实现中,录音采样参数包括以下参数中的至少一种:采样率、采样精度或采样通道数量,目标录音采样参数包括以下参数中的至少一种:目标采样率、目标采样精度或目标采样通道数量,目标采样率大于或等于n个应用的录音采样参数中的最大采样率,目标采样精度大于或等于n个应用的录音采样参数中的最大采样精度,目标采样通道数量大于或等于n个应用的录音采样参数中的最大采样通道数量。
[0099]
在另一种实现中,处理单元502,还用于将录音数据缓存至数据缓存区域。并且数据缓存区域中读取录音数据;处理单元502,还用于基于n个应用的录音采样参数对录音数据进行处理,得到n个应用对应的录音数据。
[0100]
可以理解的是,本技术实施例提供的数据处理装置的各功能单元的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例中的相关描述,此处不再赘述。
[0101]
在可行的实施例中,本技术实施例提供的数据处理装置可以采用软件方式实现,数据处理装置可以存储在存储器中,其可以是程序和插件等形式的软件,并包括一系列的单元,包括获取单元和处理单元;其中,获取单元和处理单元用于实现本技术实施例提供的数据处理方法。
[0102]
本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时实现图2中各个步骤所提供的数据处理方法,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。
[0103]
上述计算机可读存储介质可以是前述任一实施例提供的推荐模型训练装置或者上述终端设备的内部存储单元,例如电子设备的硬盘或内存。该计算机可读存储介质也可以是该电子设备的外部存储设备,例如该电子设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该电子设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该电子设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
[0104]
本技术的权利要求书和说明书及附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0105]
在本技术的具体实施方式中,涉及到用户信息(如录音采样参数等)相关的数据,当本技术以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
[0106]
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置展示该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0107]
本技术实施例提供的方法及相关装置是参照本技术实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。

技术特征:


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中任一项所述的数据处理方法的步骤。

技术总结


本申请提供了数据处理方法、装置、设备、存储介质及计算机程序产品,该方法包括获取N个应用的录音采样参数;获取目标录音采样参数;基于所述目标录音采样参数进行录音,得到录音数据;基于所述N个应用的录音采样参数对所述录音数据进行处理,得到所述N个应用对应的录音数据。采用本申请实施例,可以实现多个应用同时获取到符合应用采样要求的录音数据。同时获取到符合应用采样要求的录音数据。同时获取到符合应用采样要求的录音数据。


技术研发人员:

石焱

受保护的技术使用者:

深圳市有方科技股份有限公司

技术研发日:

2022.01.26

技术公布日:

2022/5/17

本文发布于:2024-09-22 12:30:32,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/24562.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:参数   所述   数据   目标
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议