音频数据的采集方法、装置与存储介质与流程

文档序号:17185280发布日期:2019-03-22 21:17阅读:322来源:国知局
音频数据的采集方法、装置与存储介质与流程

本申请实施例涉及音频采集技术领域,尤其涉及一种音频数据的采集方法、装置与存储介质。



背景技术:

随着手机、电脑等移动设备的普遍应用,尤其是android系统设备的广泛应用,麦克风的使用也越来越多,如常见的k歌应用、蓝牙音乐推送应用、语音助手和录音应用等均需要使用到麦克风。

但是,现有的android系统设备上的麦克风是独占设备。也就是说,现有的android系统设备使用麦克风时,在同一时间仅能让一个应用访问使用麦克风,这就导致在很多场景下,多个应用不能同时正常的工作。例如,当车辆上的车载设备在使用麦克风进行电话通信时,语音识别应用就不能通过麦克风采集到数据进行识别,无法实现语音控制。



技术实现要素:

本申请实施例提供一种音频数据的采集方法、装置与存储介质。

第一方面,本申请实施例提供一种音频数据的采集方法,包括:

获取音频数据;

调用每个音频应用的采集线程,将所述音频数据分发给每个所述音频应用,以使每个所述音频应用根据所述音频数据确定是否进行响应;

其中,所述音频应用为可以处理音频数据的应用。

在第一方面的一种可能的实现方式中,所述方法还包括:

在每个所述音频应用启动时,获取每个所述音频应用的采集线程的标识和该音频应用的采样参数;

所述调用每个音频应用的采集线程,将所述音频数据分发给每个所述音频应用,包括:

根据每个所述音频应用的采集线程的标识和每个音频应用的采样参数,调用每个音频应用的采集线程,将所述音频数据分发给每个所述音频应用。

在第一方面的另一种可能的实现方式中,根据每个所述音频应用的采集线程的标识和每个音频应用的采样参数,调用每个音频应用的采集线程,将所述音频数据分发给每个所述音频应用,包括:

根据每个所述音频应用的采样参数,对所述音频数据进行重采样,获得每个所述音频应用的采样音频数据;

根据每个所述音频应用的采集线程的标识,调用每个所述音频应用的采集线程,将每个所述音频应用的采样音频数据分发给每个所述音频应用。

在第一方面的另一种可能的实现方式中,所述根据每个所述音频应用的采样参数,对所述音频数据进行重采样,获得每个所述音频应用的采样音频数据之后,所述方法还包括:

将每个所述音频应用的采样音频数据对应保存至每个所述音频应用的第一缓存队列中;

所述根据每个所述音频应用的采集线程的标识,调用每个所述音频应用的采集线程,将每个所述音频应用的采样音频数据分发给每个所述音频应用,包括:

根据每个所述音频应用的采集线程的标识,调用每个所述音频应用的采集线程,将每个所述音频应用的第一缓存队列中的采样音频数据分发给每个所述音频应用。

在第一方面的另一种可能的实现方式中,所述获取数据包括:

获取音频采集设备采集的音频数据,并将所述音频数据保存至第二缓存队列中;

所述根据每个所述音频应用的采样参数,对所述音频数据进行重采样,包括:

根据每个所述音频应用的采样参数,对保存至所述第二缓存队列中所述音频数据进行重采样。

在第一方面的另一种可能的实现方式中,所述根据每个所述音频应用的采样参数,对保存至所述第二缓存队列中所述音频数据进行重采样,包括:

调用系统采样线程,将保存至所述第二缓存队列中所述音频数据保存至第三缓存队列中;

根据每个所述音频应用的采样参数,对保存至所述第三缓存队列中所述音频数据进行重采样。

在第一方面的另一种可能的实现方式中,所述根据每个所述音频应用的采样参数,对保存至所述第三缓存队列中所述音频数据进行重采样,包括:

根据每个所述音频应用的采样参数,调用重采样线程,对所述第三缓存队列中所述音频数据进行重采样。

在第一方面的另一种可能的实现方式中,至少一个音频应用包括第四缓存队列,所述第四缓存队列用于保存对应的所述音频应用接收的所述音频数据。

第二方面,本申请实施例提供一种音频数据的采集装置,包括:

获取模块,用于获取音频数据;

分发模块,用于调用每个音频应用的采集线程,将所述音频数据分发给每个所述音频应用,以使每个所述音频应用根据所述音频数据确定是否进行响应;

其中,所述音频应用为可以处理音频数据的应用。

在第二方面的一种可能的实现方式中,所述方法还包括:

所述获取模块,还用于在每个所述音频应用启动时,获取每个所述音频应用的采集线程的标识和该音频应用的采样参数;

所述分发模块,还用于根据每个所述音频应用的采集线程的标识和每个音频应用的采样参数,调用每个音频应用的采集线程,将所述音频数据分发给每个所述音频应用。

在第二方面的一种可能的实现方式中,所述分发模块包括:

重采样单元,用于根据每个所述音频应用的采样参数,对所述音频数据进行重采样,获得每个所述音频应用的采样音频数据;

分发单元,用于根据每个所述音频应用的采集线程的标识,调用每个所述音频应用的采集线程,将每个所述音频应用的采样音频数据分发给每个所述音频应用。

在第二方面的一种可能的实现方式中,所述装置还包括:

第一缓存模块,用于将每个所述音频应用的采样音频数据对应保存至每个所述音频应用的第一缓存队列中;

所述分发单元,具体用于根据每个所述音频应用的采集线程的标识,调用每个所述音频应用的采集线程,将每个所述音频应用的第一缓存队列中的采样音频数据分发给每个所述音频应用。

在第二方面的一种可能的实现方式中,所述获取模块,具体用于获取音频采集设备采集的音频数据,并将所述音频数据保存至第二缓存队列中;

所述重采样单元,具体用于根据每个所述音频应用的采样参数,对保存至所述第二缓存队列中所述音频数据进行重采样。

在第二方面的另一种可能的实现方式中,所述装置还包括:

第二缓存模块,用于调用系统采样线程,将保存至所述第二缓存队列中所述音频数据保存至第三缓存队列中;

所述重采样单元,具体用于根据每个所述音频应用的采样参数,对保存至所述第三缓存队列中所述音频数据进行重采样。

在第二方面的另一种可能的实现方式中,所述重采样单元,具体用于根据每个所述音频应用的采样参数,调用重采样线程,对所述第三缓存队列中所述音频数据进行重采样。

在第二方面的另一种可能的实现方式中,至少一个音频应用包括第四缓存队列,所述第四缓存队列用于保存对应的所述音频应用接收的所述音频数据。

第三方面,本申请实施例提供一种音频数据的采集装置,包括:存储器和处理器;

所述存储器,用于存储计算机程序;

所述处理器,用于获取音频数据,并调用每个音频应用的采集线程,将所述音频数据分发给每个所述音频应用,以使每个所述音频应用根据所述音频数据确定是否进行响应;其中,所述音频应用为可以处理音频数据的应用。

在第三方面的一种可能的实现方式中,所述处理器,还用于在每个所述音频应用启动时,获取每个所述音频应用的采集线程的标识和该音频应用的采样参数;并根据每个所述音频应用的采集线程的标识和每个音频应用的采样参数,调用每个音频应用的采集线程,将所述音频数据分发给每个所述音频应用。

在第三方面的另一种可能的实现方式中,所述处理器具体用于根据每个所述音频应用的采样参数,对所述音频数据进行重采样,获得每个所述音频应用的采样音频数据;根据每个所述音频应用的采集线程的标识,调用每个所述音频应用的采集线程,将每个所述音频应用的采样音频数据分发给每个所述音频应用。

在第三方面的另一种可能的实现方式中,所述处理器,还用于将每个所述音频应用的采样音频数据对应保存至每个所述音频应用的第一缓存队列中;并根据每个所述音频应用的采集线程的标识,调用每个所述音频应用的采集线程,将每个所述音频应用的第一缓存队列中的采样音频数据分发给每个所述音频应用。

在第三方面的另一种可能的实现方式中,所述处理器,还具体用于获取音频采集设备采集的音频数据,并将所述音频数据保存至第二缓存队列中;根据每个所述音频应用的采样参数,对保存至所述第二缓存队列中所述音频数据进行重采样。

在第三方面的另一种可能的实现方式中,所述处理器,具体用于调用系统采样线程,将保存至所述第二缓存队列中所述音频数据保存至第三缓存队列中;根据每个所述音频应用的采样参数,对保存至所述第三缓存队列中所述音频数据进行重采样。

在第三方面的另一种可能的实现方式中,所述处理器,还具有用于根据每个所述音频应用的采样参数,调用重采样线程,对所述第三缓存队列中所述音频数据进行重采样。

在第三方面的另一种可能的实现方式中,至少一个音频应用包括第四缓存队列,所述第四缓存队列用于保存对应的所述音频应用接收的所述音频数据。

第四方面,本申请实施例一种计算机存储介质,所述存储介质中存储计算机程序,所述计算机程序在执行时实现如第一方面任一项所述的音频数据的采集方法。

第五方面,本申请实施例一种计算机程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,监控装置的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得监控装置实施第一方面所述的音频数据的采集方法。

本申请实施例提供的音频数据的采集方法、装置与存储介质,通过获取音频数据;调用每个音频应用的采集线程,将所述音频数据分发给每个所述音频应用,以使每个所述音频应用根据所述音频数据确定是否进行响应;其中,所述音频应用为可以处理音频数据的应用。这样,通过为每个音频应用创建采集线程,以将获得的音频数据通过各音频应用的采集线程分发给各音频应用,进而实现在同一时刻多个音频应用使用麦克风,保证了各音频应用的正常工作,并提供用户的使用体验。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请一实施例提供的音频数据的采集方法的流程图;

图2为本实施例一涉及的android系统的音频采集装置的应用场景图;

图3为本申请实施例二提供的音频数据的采集方法的流程图;

图4为本申请实施例三提供的音频数据的采集方法的流程图;

图5为本实施例三涉及的android系统的音频采集设备的应用场景图;

图6为本申请实施例四提供的音频数据的采集方法的流程图;

图7为本实施例四涉及的android系统的音频采集设备的应用场景图;

图8为本申请实施例一提供的音频数据的采集装置的结构示意图;

图9为本申请实施例二提供的音频数据的采集装置的结构示意图;

图10为本申请实施例三提供的音频数据的采集装置的结构示意图;

图11为本申请实施例四提供的音频数据的采集装置的结构示意图;

图12为本申请实施例提供的音频数据的采集装置的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

现有android系统的音频采集设备,当一个音频应用(例如音频应用1)使用麦克风时,其他音频应用(例如音频应用2、音频应用3)则无法使用麦克风。其中,音频应用为可以处理音频数据的应用,例如k歌应用、蓝牙音乐推送应用、语音助手和录音应用等。

由此可知,现有的android系统的音频采集设备,无法被多个音频应用共享,造成有些音频应用无法正常工作的问题。

为了解决上述技术问题,本申请实施例提供的方法,通过为每个音频应用配置单独的采集线程,这样,android系统接收到音频数据后,可以通过每个音频应用对应的采集线程,将该音频数据分发给每个音频应用,这样每个音频应用均可以接收到音频数据,进而实现各音频应用对音频采集设备的共享,保证各音频应用的正常工作。

下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。

图1为本申请一实施例提供的音频数据的采集方法的流程图,图2为本实施例一涉及的android系统的音频采集装置的应用场景图。该如图1和图2所示,本实施例的方法可以包括:

s201、获取音频数据。

本实施例方法的执行主体为具有音频数据采集功能的装置,例如音频数据的采集装置,该装置可以采用软件和/或硬件的方式实现,该装置可以集成在任何具有网络通信功能的电子设备中。

本实施例的电子设备可以是无线终端设备也可以是有线终端设备,无线终端设备可以是指一种具有无线收发功能的设备。例如,可以是手机(mobilephone)、平板电脑(pad)、带无线收发功能的电脑、虚拟现实(virtualreality,vr)终端设备、增强现实(augmentedreality,ar)终端设备、工业控制(industrialcontrol)中的无线终端设备等等,在此不作限定。

本实施例的音频数据的采集装置可以获得音频数据,该音频数据可以是音频采集设备采集的,本实施例的音频数据的采集装置从该音频采集设备处获得。本实施例的音频采集设备可以是麦克风,还可以其他的具有采集音频数据的设备,本实施例对此不做限制。为了便于阐述,本实施例以音频采集设备可以是麦克风为例进行说明,其他音频采集设备参照即可。

可选的,本实施例的音频数据的采集装置可以与麦克风集成在同一个电子设备上。

可选的,本实施例的音频数据的采集装置可以与麦克风集成在不同一个电子设备上。

如图2所示,本实施例集成该音频数据的采集装置的电子设备上安装有多个音频应用,这样音频应用均与音频数据的采集装置通信。可选的,如图2所示,本实施例的音频数据的采集装置可以是电子设备的android系统中的硬件抽象层和系统框架层。各音频应用设置在android系统中的应用层。可选的,如图2所示,本实施例的音频数据的采集装置可以是电子设备的android系统中的硬件抽象层、系统框架层和应用层。

本实施例的音频数据可以是由其他的播放设备播放的语音数据,例如为播放器播放的歌曲、语音等。可选的,本实施例的音频数据还可以是用户输入的语音。

本实施例的音频数据为音频数据的采集装置当前时刻获得的。

示例性的,当用户需要车辆的车载装置开启导航时,用户向车载装置发送控制语音“开启导航”。麦克风采集到该音频数据“开启导航”后,将该音频数据“开启导航”发送给音频数据的采集装置。此时,麦克风可以处于使用状态,即用户向车载装置发送控制语音“开启导航”时,用用户还是使用车载设备的麦克风进行语音通话。也就是说,本实施例中,一个或多个音频应用可以同时使用麦克风。

s202、调用每个音频应用的采集线程,将所述音频数据分发给每个所述音频应用,以使每个所述音频应用根据所述音频数据确定是否进行响应。

其中,所述音频应用为可以处理音频数据的应用。

音频数据的采集装置获得音频数据后,将该音频数据分发给每个音频应用。

具体的,如图2所示,本实施例的android系统启动后,启动音频采样线程,并进入等待状态。当音频应用需要使用麦克风的时候,比如audiorecord的时候,将音频应用在本地层启动一个采集线程,并注册到系统音频采样线程。当系统音频采样线程采集到音频数据时,调用每个音频应用的采集线程,将该音频数据分发给每个音频应用。每个音频应用获得该音频数据后,对该音频数据进行解析,判断该音频数据对应的控制指令是否为本音频应用的控制指令,若是,则对该音频数据进行响应,执行该音频数据对应的控制指令。若该音频数据对应的控制指令不是本音频应用的控制指令,则本音频应用忽略该音频数据。

本申请实施例提供的音频数据的采集方法,通过获取音频数据;调用每个音频应用的采集线程,将所述音频数据分发给每个所述音频应用,以使每个所述音频应用根据所述音频数据确定是否进行响应;其中,所述音频应用为可以处理音频数据的应用。这样,通过为每个音频应用创建采集线程,以将获得的音频数据通过各音频应用的采集线程分发给各音频应用,进而实现在同一时刻多个音频应用使用麦克风,保证了各音频应用的正常工作,并提供用户的使用体验。

图3为本申请实施例二提供的音频数据的采集方法的流程图。在上述实施例的基础上,本实施例的方法可以包括:

s201、在每个所述音频应用启动时,获取每个所述音频应用的采集线程的标识和该音频应用的采样参数。

s202、获取音频数据;

s203、根据每个所述音频应用的采集线程的标识和该音频应用的采样参数,调用每个音频应用的采集线程,将所述音频数据分发给每个所述音频应用。

本实施例中,如上述可知,android系统启动,启动系统采集线程,系统采样线程处于等待状态,随时准确采集音频数据。

同时,android系统启动后,各音频应用也相应启动,各音频应用在本地各自启动一个采集线程,并向系统采集线程进行注册。示例性的,注册过程为,各音频应用向系统采集线程发送给注册消息,该注册消息包括该音频应用的采集线程的标识和该音频应用的采样参数,同时还包括该音频应用的标识。

这样,使得各音频应用的采集线程与系统采样线程连接,系统采集线程可以调用各音频应用的采集线程,以将音频数据分发给各音频应用。

即本实施例通过上述步骤,使得系统采样线程与各音频应用的采集线程连接。这样,当获得音频数据时,音频数据的采集装置根据每个所述音频应用的采集线程的标识和该音频应用的采样参数,调用每个音频应用的采集线程,将所述音频数据分发给每个所述音频应用。即本实施例需要根据该音频应用的采样参数对音频数据进行处理。接着,将满足各音频应用的采样参数的音频数据,通过各音频应用的采集线程传输给各音频应用。

上述各音频应用的采样参数可以是:音频源、采样率、捕获音频的通道数目、音频量化位数等。

其中,不同的android手机硬件将能够以不同的采样率进行采样,常见的采样率11025hz。

捕获音频的通道数目,在audioformat类中指定用于此的常量。

音频量化位数,在audioformat类中指定了各种可能的常量。通常选择encoding_pcm_16bit和encoding_pcm_8bitpcm代表的是脉冲编码调制,它实际上是原始音频样本。可以设置每个样本的分辨率为16位或者8位,16位将占用更多的空间和处理能力,表示的音频也更加接近真实。

在一些实施例中,上述s203中,根据每个所述音频应用的采集线程的标识和该音频应用的采样参数,调用每个音频应用的采集线程,将所述音频数据分发给每个所述音频应用,可以包括:

s2031、根据每个所述音频应用的采样参数,对所述音频数据进行重采样,获得每个所述音频应用的采样音频数据。

s2032、根据每个所述音频应用的采集线程的标识,调用每个所述音频应用的采集线程,将每个所述音频应用的采样音频数据分发给每个所述音频应用。

在实际使用时,不同的音频应用对应的采集参数不同,这样,在将采集的同一音频数据分发给各不同的音频应用时,首先需要根据各音频应用的采样参数,对音频数据进行重采样,获得满足各音频应用的音频数据。为了便于阐述,将该重采样后的音频数据记为采样音频数据,不同的音频应用对应的采样音频数据可以不同。

接着,根据各音频应用的采集线程的标识,调用各音频应用的采集线程,将各音频应用对应的采集音频数据分发给每个音频应用。

本申请实施例提供的音频数据的采集方法,在每个所述音频应用启动时,获取每个所述音频应用的采集线程的标识和该音频应用的采样参数,并根据每个所述音频应用的采集线程的标识和该音频应用的采样参数,调用每个音频应用的采集线程,将所述音频数据分发给每个所述音频应用,保证了对音频数据的准确传输。

图4为本申请实施例三提供的音频数据的采集方法的流程图,图5为本实施例三涉及的android系统的音频采集设备的应用场景图。在上述实施例的基础上,如图4和图5所示,本实施例的方法可以包括:

s301、获取音频数据。

s302、根据每个所述音频应用的采样参数,对所述音频数据进行重采样,获得每个所述音频应用的采样音频数据。

s303、将每个所述音频应用的采样音频数据对应保存至每个所述音频应用的第一缓存队列中。

s304、根据每个所述音频应用的采集线程的标识,调用每个所述音频应用的采集线程,将每个所述音频应用的第一缓存队列中的采样音频数据分发给每个所述音频应用。

如图5所示,本实施例在android系统的框架层中每个音频应用设置一个第一缓存队列。该第一缓存队列用于保存各音频应用重采样后的采样音频数据。本实施例中,由于不同的音频应用的采样参数不同,使得重采样后获得不同音频应用的采样音频数据也不同相同,此时,为了便于数据的读取,则将不用的音频应用的采样音频数据保存在不用的第一缓存队列中。

本实施例的方法,在实际使用时,音频数据的采集装置获得音频数据后,根据每个音频应用的采样参数,对获得音频数据进行重采样,获得每个音频应用的采样音频数据。在实际应用时,音频应用接收采样音频数据的速度与音频数据的采集装置转换采样音频数据的速度可能不一致,此时,为了保证音频应用接收采样音频数据的连续性,则将采样音频数据缓存到第一缓存队列中。音频应用的采集线程根据音频应用的处理速度,从第一缓存队列中读取缓存的采样音频数据,保证了音频应用对采样音频数据的连接接收和及时处理。

图6为本申请实施例四提供的音频数据的采集方法的流程图,图7为本实施例四涉及的android系统的音频采集设备的应用场景图。在上述实施例的基础上,本实施例的方法可以包括:

s401、获取音频采集设备采集的音频数据,并将所述音频数据保存至第二缓存队列中。

s402、根据每个所述音频应用的采样参数,对保存至所述第二缓存队列中所述音频数据进行重采样,获得每个所述音频应用的采样音频数据。

s403、将每个所述音频应用的采样音频数据对应保存至每个所述音频应用的第一缓存队列中。

s404、根据每个所述音频应用的采集线程的标识,调用每个所述音频应用的采集线程,将每个所述音频应用的第一缓存队列中的采样音频数据分发给每个所述音频应用。

如图7所示,本实施例在android系统的框架层中设置有第二缓存队列,该第二缓存队列可以为一个,也可以为多个,本实施例对此不做限制。该第二缓存队列用于保存音频数据的采集装置获得的音频数据。在实际使用时,麦克风采集的音频数据的速度与android系统处理音频数据的速度不一致,这样,为了满足android系统处理音频数据的速度,则需要将获得的音频数据进行缓存,具体是缓存至第二缓存队列中。

在实际使用时,音频采集设备(例如麦克风)采集的音频数据,接着,音频数据的采集装置从音频采集设备处获得音频数据后,将音频数据保存至第二缓存队列。在android系统需要读取该音频数据时,从第二缓存队列中读取采样数据。例如,调用系统采样线程,从该第二缓存队列中读取采样数据。接着,根据每个音频应用的采样参数,对读取的音频数据进行重采样,获得每个音频应用的采样音频数据。然后,将采样音频数据缓存到第一缓存队列中。音频应用的采集线程根据音频应用的处理速度,从第一缓存队列中读取缓存的采样音频数据,保证了音频应用对采样音频数据的连接接收和及时处理。

可选的,在本实施例中,为了进一步音频数据的稳定传输,继续参照图7,如图7所示,本实施例在第二缓存队列和第一缓存队列之间设置一第三缓存队列。

此时,上述s402可以包括:

s4021、调用系统采样线程,将保存至所述第二缓存队列中所述音频数据保存至第三缓存队列中。

s4022、根据每个所述音频应用的采样参数,对保存至所述第三缓存队列中所述音频数据进行重采样。

即,音频数据的采集装置将获得音频数据保存在第二缓存队列中,接着,调用系统采样线程,将保存至所述第二缓存队列中所述音频数据保存至第三缓存队列中。然后,根据每个所述音频应用的采样参数,对保存至所述第三缓存队列中所述音频数据进行重采样,并将重采样获得的采样音频数据分别保存至各音频应用的第一缓存队列中。以调用各音频应用的采集线程,从第一缓存队列中读取各音频应用的采样音频数据。

可选的,在本实施例中,上述s402可以是:根据每个所述音频应用的采样参数,调用重采样线程,对所述第三缓存队列中所述音频数据进行重采样。

可选的,继续参照图7所示,本实施例的至少一个音频应用包括第四缓存队列,所述第四缓存队列用于保存对应的所述音频应用接收的所述音频数据。这样,音频应用可以从第四缓存队列中读取音频数据以进行处理。

本申请实施例提供的音频数据的采集装置,通过获取音频采集设备采集的音频数据,并将所述音频数据保存至第二缓存队列中。接着,调用系统采样线程,将保存至所述第二缓存队列中所述音频数据保存至第三缓存队列中。然后,根据每个所述音频应用的采样参数,对保存的音频数据进行重采样,获得每个所述音频应用的采样音频数据。再然后,将每个所述音频应用的采样音频数据对应保存至每个所述音频应用的第一缓存队列中。最后根据每个所述音频应用的采集线程的标识,调用每个所述音频应用的采集线程,将每个所述音频应用的第一缓存队列中的采样音频数据分发给每个所述音频应用。即本实施例,通过对音频数据的多次缓存,保证了音频数据在电子设备中的可靠传输。

图8为本申请实施例一提供的音频数据的采集装置的结构示意图,如图8所示,所述音频数据的采集装置100包括:

获取模块110,用于获取音频数据;

分发模块120,用于调用每个音频应用的采集线程,将所述音频数据分发给每个所述音频应用,以使每个所述音频应用根据所述音频数据确定是否进行响应;

其中,所述音频应用为可以处理音频数据的应用。

本申请实施例的音频数据的采集装置,可以用于执行上述所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

在本实施例的一种示例中,所述获取模块110,还用于在每个所述音频应用启动时,获取每个所述音频应用的采集线程的标识和该音频应用的采样参数;

所述分发模块120,还用于根据每个所述音频应用的采集线程的标识和每个音频应用的采样参数,调用每个音频应用的采集线程,将所述音频数据分发给每个所述音频应用。

图9为本申请实施例二提供的音频数据的采集装置的结构示意图,如图9所示,所述分发模块120包括:

重采样单元121,用于根据每个所述音频应用的采样参数,对所述音频数据进行重采样,获得每个所述音频应用的采样音频数据;

分发单元122,用于根据每个所述音频应用的采集线程的标识,调用每个所述音频应用的采集线程,将每个所述音频应用的采样音频数据分发给每个所述音频应用。

本申请实施例的音频数据的采集装置,可以用于执行上述所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

图10为本申请实施例三提供的音频数据的采集装置的结构示意图,如图10所示,所述音频数据的采集装置100还包括:

第一缓存模块130,用于将每个所述音频应用的采样音频数据对应保存至每个所述音频应用的第一缓存队列中;

所述分发单元122,具体用于根据每个所述音频应用的采集线程的标识,调用每个所述音频应用的采集线程,将每个所述音频应用的第一缓存队列中的采样音频数据分发给每个所述音频应用。

在本实施例一种可能的实现方式中,所述获取模块110,具体用于获取音频采集设备采集的音频数据,并将所述音频数据保存至第二缓存队列中;

所述重采样单元121,具体用于根据每个所述音频应用的采样参数,对保存至所述第二缓存队列中所述音频数据进行重采样。

本申请实施例的音频数据的采集装置,可以用于执行上述所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

图11为本申请实施例四提供的音频数据的采集装置的结构示意图,如图11所示,所述音频数据的采集装置100还包括:

第二缓存模块140,用于调用系统采样线程,将保存至所述第二缓存队列中所述音频数据保存至第三缓存队列中;

所述重采样单元121,具体用于根据每个所述音频应用的采样参数,对保存至所述第三缓存队列中所述音频数据进行重采样。

在一种可能的实现方式中,所述重采样单元121,具体用于根据每个所述音频应用的采样参数,调用重采样线程,对所述第三缓存队列中所述音频数据进行重采样。

可选的,至少一个音频应用包括第四缓存队列,所述第四缓存队列用于保存对应的所述音频应用接收的所述音频数据。

本申请实施例的音频数据的采集装置,可以用于执行上述所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

图12为本申请实施例提供的音频数据的采集装置的结构示意图,如图12所示,本实施例的音频数据的采集装置200,包括一个或多个处理器220,所述处理器220也可以称为处理单元,可以实现一定的控制或者处理功能。所述处理器220可以是通用处理器或者专用处理器等。例如可以是基带处理器、或中央处理器。基带处理器可以用于对通信协议以及通信数据进行处理,中央处理器可以用于对通信装置进行控制,执行软件程序,处理软件程序的数据。

在一种可选的设计中,处理器220也可以存有指令或者数据(例如中间数据)。其中,所述指令可以被所述处理器220运行,使得所述音频数据的采集装置200执行上述方法实施例中描述的对应于音频数据的采集装置的方法。

在又一种可能的设计中,音频数据的采集装置200可以包括电路,所述电路可以实现前述方法实施例中发送或接收或者通信的功能。

可选的,所述音频数据的采集装置200中可以包括一个或多个存储器210,其上可以存有指令所述指令可在所述处理器上被运行,使得所述音频数据的采集装置200执行上述方法实施例中描述的方法。

可选的,所述存储器210中也可以是存储有数据。所述处理器220和存储器210可以单独设置,也可以集成在一起。

其中,所述处理器220,用于获取音频数据,并调用每个音频应用的采集线程,将所述音频数据分发给每个所述音频应用,以使每个所述音频应用根据所述音频数据确定是否进行响应;其中,所述音频应用为可以处理音频数据的应用。

本申请实施例的音频数据的采集装置,可以用于执行上述所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

在一种实现方式中,所述处理器220,还用于在每个所述音频应用启动时,获取每个所述音频应用的采集线程的标识和该音频应用的采样参数;并根据每个所述音频应用的采集线程的标识和每个音频应用的采样参数,调用每个音频应用的采集线程,将所述音频数据分发给每个所述音频应用。

在另一实现方式中,所述处理器220,具体用于根据每个所述音频应用的采样参数,对所述音频数据进行重采样,获得每个所述音频应用的采样音频数据;根据每个所述音频应用的采集线程的标识,调用每个所述音频应用的采集线程,将每个所述音频应用的采样音频数据分发给每个所述音频应用。

在另一些实现方式中,所述处理器220,还用于将每个所述音频应用的采样音频数据对应保存至每个所述音频应用的第一缓存队列中;并根据每个所述音频应用的采集线程的标识,调用每个所述音频应用的采集线程,将每个所述音频应用的第一缓存队列中的采样音频数据分发给每个所述音频应用。

在另一些实现方式中,所述处理器220,还具体用于获取音频采集设备采集的音频数据,并将所述音频数据保存至第二缓存队列中;根据每个所述音频应用的采样参数,对保存至所述第二缓存队列中所述音频数据进行重采样。

在另一些实现方式中,所述处理器220,具体用于调用系统采样线程,将保存至所述第二缓存队列中所述音频数据保存至第三缓存队列中;根据每个所述音频应用的采样参数,对保存至所述第三缓存队列中所述音频数据进行重采样。

在另一些实现方式中,所述处理器220,还具有用于根据每个所述音频应用的采样参数,调用重采样线程,对所述第三缓存队列中所述音频数据进行重采样。

可选的,至少一个音频应用包括第四缓存队列,所述第四缓存队列用于保存对应的所述音频应用接收的所述音频数据。

本申请实施例的音频数据的采集装置,可以用于执行上述所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

所述本实施例的方法中至少一个步骤以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1