一种音频传输方法、客户端及终端设备的制作方法

文档序号:2825988阅读:125来源:国知局
一种音频传输方法、客户端及终端设备的制作方法
【专利摘要】本发明实施例提供一种音频传输方法、客户端及终端设备,其中的方法可包括:客户端检测到音频传输请求时,调用所述客户端所在终端设备的录音应用进行音频文件的录制操作;所述客户端从所述终端设备的录音应用中采集当前录制的所述音频文件的音频帧数据;所述客户端对所述当前录制的所述音频文件的音频帧数据进行编码,并将所述编码后的音频帧数据传输至服务器。本发明可有效地提升音频传输效率,满足用户对音频传输时延的实际需求。
【专利说明】一种音频传输方法、客户端及终端设备

【技术领域】
[0001] 本发明涉及一种互联网【技术领域】,具体涉及音频【技术领域】,尤其涉及一种音频传 输方法、客户端及终端设备。

【背景技术】
[0002] 目前,应用客户端(如:IM (Instant Messenger,即时通讯)客户端、SNS (Social Networking Services,社会性网络服务)客户端)广泛使用录音技术,作为音频传输的基础, 为用户提供更便捷的交流和沟通的服务。传统的音频传输的方案大致为:客户端在语音聊 天界面中提供"录音"按键,用户按压该按键时发出音频传输请求,客户端调用客户端所在 终端设备的录音程序开始录音,录取用户输入的语音数据;当用户松开该按键时录音结束, 终端设备的录音程序将获得的完整语音数据进行录制处理形成音频文件,把音频文件传送 至客户端进行音频编码和音频传输。上述方案中,由于音频传输过程需要等待录音结束后, 才进行音频的录制、编码和传输,这使得音频传输的时延较大,无法适用于一些对传输时延 要求比较高的场景,无法满足用户对音频传输时延的实际需求。


【发明内容】

[0003] 本发明实施例提供一种音频传输方法、客户端及终端设备,可有效地提升音频传 输效率,满足用户对音频传输时延的实际需求。
[0004] 本发明第一方面提供一种音频传输方法,可包括:
[0005] 客户端检测到音频传输请求时,调用所述客户端所在终端设备的录音应用进行音 频文件的录制操作;
[0006] 所述客户端从所述终端设备的录音应用中采集当前录制的所述音频文件的音频 帧数据;
[0007] 所述客户端对所述当前录制的所述音频文件的音频帧数据进行编码,并将所述编 码后的音频帧数据传输至服务器。
[0008] 本发明第二方面提供一种客户端,可包括:
[0009] 调用模块,用于在检测到音频传输请求时,调用所述客户端所在终端设备的录音 应用进行音频文件的录制操作;
[0010] 采集模块,用于从所述终端设备的录音应用中采集当前录制的所述音频文件的音 频帧数据;
[0011] 编码模块,用于对所述当前录制的所述音频文件的音频帧数据进行编码;
[0012] 传输模块,用于将所述编码后的音频帧数据传输至服务器。
[0013] 本发明第三方面提供一种终端设备,可包括:上述第二方面提供的客户端。
[0014] 实施本发明实施例,具有如下有益效果:
[0015] 本发明实施例中,客户端能够在检测到音频传输请求时,调用客户端所在终端设 备的录音应用进行音频文件的录制,并采集当前录制的音频文件进行编码传输处理,从而 实现了对音频文件进行边录制边发送的过程,较好地减小了音频传输时延,有效地提升了 音频传输效率,满足用户对音频传输时延的实际需求。

【专利附图】

【附图说明】
[0016] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。
[0017] 图1为本发明实施例提供的一种音频传输方法的流程图;
[0018] 图2为本发明实施例提供的另一种音频传输方法的流程图;
[0019] 图3为本发明实施例提供的又一种音频传输方法的流程图;
[0020] 图4为本发明实施例提供的又一种音频传输方法的流程图;
[0021] 图5为本发明实施例提供的一种客户端的结构示意图;
[0022] 图6为本发明实施例提供的另一种客户端的结构示意图;
[0023] 图7为本发明实施例提供的编码模块的实施例的结构示意图;
[0024] 图8为本发明实施例提供的方式确定单元的实施例的结构示意图;
[0025] 图9为本发明实施例提供的触发检测模块的一个实施例的结构示意图;
[0026] 图10为本发明实施例提供的触发检测模块的另一个实施例的结构示意图。

【具体实施方式】
[0027] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0028] 本发明实施例中,终端设备可以包括但不限于:PC(Personal Computer,个人计算 机)、平板电脑、手机、智能手机、笔记本电脑等设备。客户端可以包括但不限于:頂客户端、 SNS客户端等等。其中,客户端安装于终端设备中,客户端属于终端设备中的客户端模块,终 端设备属于客户端所在终端设备。
[0029] 下面将结合附图1-附图4,对本发明实施例提供的音频传输方法进行详细介绍。
[0030] 请参见图1,为本发明实施例提供的一种音频传输方法的流程图;该方法可包括 以下步骤S101-步骤S104。
[0031] S101,客户端检测到音频传输请求时,调用所述客户端所在终端设备的录音应用 进行音频文件的录制操作。
[0032] 其中,所述客户端所在终端设备的录音应用,可以为所述终端设备的操作系统的 录音应用,例如:以Android (安卓,一种手机操作系统)为操作系统的终端设备,其录音应 用可以为Android系统的录音应用。本发明实施例中,客户端可提供一个用于发起音频传 输请求的按键,该按键处于按压状态时,则可发起音频传输请求,例如:客户端可提供一个 "按住说话"功能按键,用户按住该功能按键,客户端则可检测到音频传输请求,此时用户可 向客户端输入语音数据。本步骤中,客户端检测到音频传输请求时,可通过调用所述客户端 所在终端设备的录音应用的API (Application Programming Interface,应用程序编程接 口)接口,以调用所述终端设备的录音应用对用户输入的语音数据进行录音,并根据用户输 入的语音数据进行音频文件的录制操作。
[0033] 实际应用中,所述终端设备的录音应用进行音频文件的录制操作过程可以包括: 所述终端设备的录音应用将用户输入的模拟的语音数据进行模数转换、抽样、量化等处理, 形成至少一巾贞音频巾贞数据,该至少一巾贞音频巾贞数据可组成PCM(Pulse_code modulation,脉 冲编码调制)格式的音频文件。
[0034] S102,所述客户端从所述终端设备的录音应用中采集当前录制的所述音频文件的 音频帧数据。
[0035] 如前步骤S101所述,所述终端设备的录音应用进行音频文件的录制操作过程中, 会形成一帧一帧的音频帧数据;本步骤中,所述客户端从所述终端设备的录音应用中采集 当前录制的所述音频文件的音频帧数据,具体为:每当所述终端设备的录音应用中形成一 帧音频帧数据,所述客户端则从所述终端设备的录音应用中将该帧音频帧数据采集出来。
[0036] S103,所述客户端对所述当前录制的所述音频文件的音频帧数据进行编码。
[0037] 其中,编码方式可为AMR (Adaptive Multi-Rate,一种音频格式)编码方式,包括 定点编码方式和浮点编码方式。本步骤中,所述客户端优选采用AMR编码方式,对所述当前 录制的所述音频文件的音频帧数据进行编码;即所述客户端每采集到一帧音频帧数据,则 采用AMR编码方式对该帧音频帧数据进行编码。
[0038] S104,所述客户端将所述编码后的音频帧数据传输至服务器。
[0039] 本步骤中,将所述编码后的音频帧数据传输至服务器,则实现了对音频文件进行 边录制边发送的过程。本步骤的一种可行的实施方式为:可以预设每次传输的所述编码后 的音频帧数据的数量阈值,所述客户端缓存所述编码后的至少一帧音频帧数据,当缓存的 所述编码后的音频帧数据的数据量到达预设数量阈值时,将该缓存的预设数量阈值的所述 编码后的音频帧数据传输至服务器。本步骤的另一种可行的实施方式为:可以预设每次 传输的所述编码后的音频帧数据的时长,所述客户端缓存所述编码后的至少一帧音频帧数 据,当缓存的所述编码后的各帧音频帧数据的总帧长到达预设时长时,将该缓存的预设时 长的所述编码后的音频帧数据传输至服务器。
[0040] 本发明实施例中,客户端能够在检测到音频传输请求时,调用客户端所在终端设 备的录音应用进行音频文件的录制,并采集当前录制的音频文件进行编码传输处理,从而 实现了对音频文件进行边录制边发送的过程,较好地减小了音频传输时延,有效地提升了 音频传输效率,满足用户对音频传输时延的实际需求。
[0041] 请参见图2,为本发明实施例提供的另一种音频传输方法的流程图;该方法可包 括以下步骤S201-步骤S208。
[0042] S201,客户端检测到音频传输请求时,调用所述客户端所在终端设备的录音应用 进行音频文件的录制操作。
[0043] S202,所述客户端从所述终端设备的录音应用中采集当前录制的所述音频文件的 音频帧数据。
[0044] 本实施例的步骤S201-步骤S202可参见图1所示实施例的步骤S101-步骤S102, 在此不赘述。
[0045] S203,所述客户端确定与所述终端设备相适配的编码方式。
[0046] 其中,编码方式可为AMR编码方式,包括定点编码方式和浮点编码方式。定点编码 方式具备占用CPU (Central Processing Unit,中央处理器)资源少,计算简单,保真度较 低的特点;浮点编码方式具备占用CPU资源多,计算复杂,保真度较高的特点。本步骤可根 据所述终端设备的CPU性能,确定与所述终端设备相适配的编码方式,例如:若所述终端设 备的CPU性能较低(如:CPU资源较少且计算能力较低),本步骤可确定定点编码方式为与所 述终端设备相适配的编码方式;再如:若所述终端设备的CPU性能较高(如:资源较多且计 算能力较高),本步骤可确定浮点编码方式为与所述终端设备相适配的编码方式。
[0047] S204,所述客户端按照所确定的编码方式,对所述当前录制的所述音频文件的音 频帧数据进行编码。
[0048] 本步骤中,所述客户端按照与所述终端设备相适配的编码方式,对所述当前录制 的所述音频文件的音频帧数据进行编码,可有效地提升编码效率,保证编码可靠性。
[0049] 本实施例的步骤S203-步骤S204可以为图1所示实施例的步骤S103的具体细化 步骤。
[0050] S205,所述客户端缓存所述编码后的音频帧数据。
[0051] S206,所述客户端检测是否存在传输触发事件,若检测结果为是,转入步骤S207 ; 否则,继续步骤S206。
[0052] 其中,传输触发事件包括:已缓存的所述编码后的音频帧数据的数据量达到预设 数量阈值;或者,已缓存的所述编码后的音频帧数据的帧长达到预设时长。
[0053] S207,所述客户端提取已缓存的所述编码后的音频帧数据。
[0054] S208,所述客户端将提取的所述编码后的音频帧数据传输至服务器。
[0055] 本步骤中,将所述编码后的音频帧数据传输至服务器,则实现了对音频文件进行 边录制边发送的过程。
[0056] 本发明实施例中,客户端能够在检测到音频传输请求时,调用客户端所在终端设 备的录音应用进行音频文件的录制,并采集当前录制的音频文件进行编码传输处理,从而 实现了对音频文件进行边录制边发送的过程,较好地减小了音频传输时延,有效地提升了 音频传输效率,满足用户对音频传输时延的实际需求。
[0057] 请参见图3,为本发明实施例提供的又一种音频传输方法的流程图;该方法可包 括以下步骤S301-步骤S310。
[0058] S301,客户端检测到音频传输请求时,调用所述客户端所在终端设备的录音应用 进行音频文件的录制操作。
[0059] S302,所述客户端从所述终端设备的录音应用中采集当前录制的所述音频文件的 音频帧数据。
[0060] 本实施例的步骤S301-步骤S302可参见图1所示实施例的步骤S101-步骤S102, 在此不赘述。
[0061] S303,所述客户端判断已录制的所述音频文件的音频帧数据的平均编码时间是否 大于预设时间阈值;若判断结果为是,转入步骤S304 ;否则,转入步骤S305。
[0062] 本发明实施例中,由于所述终端设备的录音应用每录制形成一帧音频帧数据,所 述客户端则采集该帧音频帧数据,并对该帧音频帧数据进行编码;当需要对当前录制的音 频帧数据进行编码之前,本步骤中,所述客户端判断已录制的所述音频文件的音频帧数据 的平均编码时间是否大于预设时间阈值,即所述客户端判断已编码的音频帧数据的平均编 码时间是否大于预设时间阈值,该预设时间阈值可以根据实际情况进行设定,例如:可设定 为ls,2s等等。如果判断结果为是,表明编码耗费时间较长,进一步表明所述终端设备的 (PU性能较差,则可转入步骤S304。如果判断结果为否,表明编码耗费时间较短,进一步表 明所述终端设备的CPU性能较高,可转入步骤S305。
[0063] S304,所述客户端将定点编码方式确定为与所述终端设备相适配的编码方式;之 后转入步骤S306。
[0064] S305,所述客户端将浮点编码方式确定为与所述终端设备相适配的编码方式。
[0065] S306,所述客户端按照所确定的编码方式,对所述当前录制的所述音频文件的音 频帧数据进行编码。
[0066] 本步骤中,所述客户端按照与所述终端设备相适配的编码方式,对所述当前录制 的所述音频文件的音频帧数据进行编码,可有效地提升编码效率,保证编码可靠性。
[0067] S307,所述客户端缓存所述编码后的音频帧数据。
[0068] S308,所述客户端检测已缓存的所述编码后的音频帧数据的数据量是否达到预设 数量阈值,若检测结果为是,转入步骤S309 ;否则,继续步骤S308。
[0069] 其中,预设数量阈值可根据实际情况进行设定,例如:可根据网络带宽设置预设数 量阈值为2K、3K等等。本发明实施例中,由于所述终端设备的录音应用每录制形成一帧音 频帧数据,所述客户端则采集该帧音频帧数据,对该帧音频帧数据进行编码,并缓存所述的 音频帧数据;本步骤则判断已缓存的所述编码后的音频帧数据的数据量是否达到预设数量 阈值,例如:假设一帧编码后的音频帧数据的数据量为1Κ,预设数量阈值为2Κ,则当所述客 户端缓存两帧编码后的音频帧数据时,本步骤可检测到已缓存的所述编码后的音频帧数据 的数据量达到预设数量阈值。
[0070] S309,所述客户端提取已缓存的所述编码后的音频帧数据。
[0071] 按照步骤S308中的例子进行说明,本步骤提取已缓存的两帧编码后的音频帧数 据,即提取已缓存的该数据量为2Κ的所述编码后的音频帧数据。需要说明的是,本步骤中 所述客户端在提取已缓存的所述编码后的音频帧数据的同时,从所述客户端的缓存空间中 将已被提取的所述编码后的音频帧数据进行删除。
[0072] S310,所述客户端将提取的所述编码后的音频帧数据传输至服务器。
[0073] 本实施例的步骤S310可参见图2所示实施例的步骤S208,在此不赘述。
[0074] 下面将以一个具体实例来说明本实施例的音频传输方法的具体流程。
[0075] 假设终端设备为手机,客户端为手机中的ΙΜ客户端。ΙΜ客户端提供用于发起音频 传输请求的"按住说话"功能按键。同时,假设一帧音频帧数据的数据量为1Κ,预设数量阈 值为2Κ,预设时间阈值为Is。
[0076] 用户按住IM客户端提供的"按住说话"功能按键时,IM客户端检测到音频传输请 求,用户可向頂客户端输入语音数据。頂客户端调用手机的录音应用对用户输入的语音数 据进行录音,并根据用户输入的语音数据处理形成至少一帧音频帧数据,该至少一帧音频 帧数据可组成音频文件。
[0077] 假设音频文件总共包含10帧音频帧数据,手机的录音应用已录制形成第1帧至第 3帧音频帧数据,并已被Μ客户端采集、编码处理,且Μ客户端的缓存空间中已缓存第3帧 音频帧数据,假设第1帧音频帧数据的编码时间为〇. 2s,第2帧音频帧数据的编码时间为 0. 8s,第3帧音频帧数据的编码时间为0. 2s。手机的录音应用当前录制形成第4帧音频帧数 据,手机的录音应用将该第4帧音频帧数据传送至IM客户端,IM客户端采集该帧音频帧数 据。IM客户端计算已录制的第1帧至第3帧音频帧数据的平均编码时间为(0. 2+0. 8+0. 2) /3=0. 4s,小于预设时间阈值ls,IM客户端确定浮点编码方式为与手机相适配的编码方式。
[0078] IM客户端采用浮点编码方式对当前录制的第4帧音频帧数据进行编码,IM客户端 缓存编码后的该第4帧音频帧数据,IM客户端的缓存空间中共包含编码后的第3帧音频帧 数据和第4帧音频帧数据,IM客户端判断该已缓存的两帧音频帧数据的数据量大小为2K, 已达到预设数量阈值2K,頂客户端则提取已缓存的该2K音频帧数据传输至服务器。
[0079] 本发明实施例中,客户端能够在检测到音频传输请求时,调用客户端所在终端设 备的录音应用进行音频文件的录制,并采集当前录制的音频文件进行编码传输处理,从而 实现了对音频文件进行边录制边发送的过程,较好地减小了音频传输时延,有效地提升了 音频传输效率,满足用户对音频传输时延的实际需求。
[0080] 请参见图4,为本发明实施例提供的又一种音频传输方法的流程图;该方法可包 括以下步骤S401-步骤S410。
[0081] S401,客户端检测到音频传输请求时,调用所述客户端所在终端设备的录音应用 进行音频文件的录制操作。
[0082] S402,所述客户端从所述终端设备的录音应用中采集当前录制的所述音频文件的 音频帧数据。
[0083] S403,所述客户端判断已录制的所述音频文件的音频帧数据的平均编码时间是否 大于预设时间阈值;若判断结果为是,转入步骤S404 ;否则,转入步骤S405。
[0084] S404,所述客户端将定点编码方式确定为与所述终端设备相适配的编码方式;之 后转入步骤S406。
[0085] S405,所述客户端将浮点编码方式确定为与所述终端设备相适配的编码方式。
[0086] S406,所述客户端按照所确定的编码方式,对所述当前录制的所述音频文件的音 频帧数据进行编码。
[0087] S407,所述客户端缓存所述编码后的音频帧数据。
[0088] 本实施例的步骤S401-步骤S407可参见图3所示实施例的步骤S301-步骤S306, 在此不赘述。
[0089] S408,所述客户端检测已缓存的所述编码后的音频帧数据的帧长是否达到预设时 长,若检测结果为是,转入步骤S409 ;否则,继续步骤S408。
[0090] 其中,预设时长可根据实际情况进行设定,例如:可设置预设时长为2s、3s等等。 本发明实施例中,由于所述终端设备的录音应用每录制形成一帧音频帧数据,所述客户端 则采集该帧音频帧数据,对该帧音频帧数据进行编码,并缓存所述的音频帧数据;本步骤则 判断已缓存的所述编码后的音频帧数据的帧长是否达到预设时长,例如:假设一帧编码后 的音频帧数据的帧长为ls,预设数量阈值为2s,则当所述客户端缓存两帧编码后的音频帧 数据时,本步骤可检测到已缓存的所述编码后的音频帧数据的帧长达到预设时长。
[0091] S409,所述客户端提取已缓存的所述编码后的音频帧数据。
[0092] 按照步骤S408中的例子进行说明,本步骤提取已缓存的两帧编码后的音频帧数 据,即提取已缓存的总帧长为2s的所述编码后的音频帧数据。需要说明的是,本步骤中所 述客户端在提取已缓存的所述编码后的音频帧数据的同时,从所述客户端的缓存空间中将 已被提取的所述编码后的音频帧数据进行删除。
[0093] S410,所述客户端将提取的所述编码后的音频帧数据传输至服务器。
[0094] 本实施例的步骤S410可参见图2所示实施例的步骤S208,在此不赘述。
[0095] 下面将以一个具体实例来说明本实施例的音频传输方法的具体流程。
[0096] 假设终端设备为手机,客户端为手机中的IM客户端。IM客户端提供用于发起音 频传输请求的"按住说话"功能按键。同时,假设一帧音频帧数据的帧长为ls,预设时长为 2s,预设时间阈值为Is。
[0097] 用户按住IM客户端提供的"按住说话"功能按键时,IM客户端检测到音频传输请 求,用户可向頂客户端输入语音数据。頂客户端调用手机的录音应用对用户输入的语音数 据进行录音,并根据用户输入的语音数据处理形成至少一帧音频帧数据,该至少一帧音频 帧数据可组成音频文件。
[0098] 假设音频文件总共包含10帧音频帧数据,手机的录音应用已录制形成第1帧至第 3帧音频帧数据,并已被Μ客户端采集、编码处理,且Μ客户端的缓存空间中已缓存第3帧 音频帧数据,假设第1帧音频帧数据的编码时间为〇. 2s,第2帧音频帧数据的编码时间为 0. 8s,第3帧音频帧数据的编码时间为0. 2s。手机的录音应用当前录制形成第4帧音频帧数 据,手机的录音应用将该第4帧音频帧数据传送至IM客户端,IM客户端采集该帧音频帧数 据。IM客户端计算已录制的第1帧至第3帧音频帧数据的平均编码时间为(0. 2+0. 8+0. 2) /3=0. 4s,小于预设时间阈值ls,IM客户端确定浮点编码方式为与手机相适配的编码方式。 [0099] IM客户端采用浮点编码方式对当前录制的第4帧音频帧数据进行编码,IM客户端 缓存编码后的该第4帧音频帧数据,IM客户端的缓存空间中共包含编码后的第3帧音频帧 数据和第4帧音频帧数据,IM客户端判断该已缓存的两帧音频帧数据的总帧长为2s,已达 到预设时长2s,IM客户端则提取已缓存的该总帧长2s的音频帧数据传输至服务器。
[0100] 本发明实施例中,客户端能够在检测到音频传输请求时,调用客户端所在终端设 备的录音应用进行音频文件的录制,并采集当前录制的音频文件进行编码传输处理,从而 实现了对音频文件进行边录制边发送的过程,较好地减小了音频传输时延,有效地提升了 音频传输效率,满足用户对音频传输时延的实际需求。
[0101] 下面将结合附图5-附图10,对本发明实施例提供的客户端的结构进行详细介绍。 需要说明的是,附图5-附图10所示的客户端,用于执行本发明图1-图4所示实施例的方 法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照 本发明图1-图4所示的实施例。
[0102] 请参见图5,为本发明实施例提供的一种客户端的结构示意图;该客户端可包括: 调用模块101、采集模块102、编码模块103和传输模块104。
[0103] 调用模块101,用于在检测到音频传输请求时,调用所述客户端所在终端设备的录 音应用进行音频文件的录制操作。
[0104] 其中,所述客户端所在终端设备的录音应用,可以为所述终端设备的操作系统的 录音应用,例如:以Android为操作系统的终端设备,其录音应用可以为Android系统的录 音应用。本发明实施例中,客户端可提供一个用于发起音频传输请求的按键,该按键处于按 压状态时,则可发起音频传输请求,例如:客户端可提供一个"按住说话"功能按键,用户按 住该功能按键,客户端则可检测到音频传输请求,此时用户可向客户端输入语音数据。当检 测到音频传输请求时,所述调用模块101可通过调用所述客户端所在终端设备的录音应用 的API接口,以调用所述终端设备的录音应用对用户输入的语音数据进行录音,并根据用 户输入的语音数据进行音频文件的录制操作。
[0105] 实际应用中,所述终端设备的录音应用进行音频文件的录制操作过程可以包括: 所述终端设备的录音应用将用户输入的模拟的语音数据进行模数转换、抽样、量化等处理, 形成至少一帧音频帧数据,该至少一帧音频帧数据可组成PCM格式的音频文件。
[0106] 采集模块102,用于从所述终端设备的录音应用中采集当前录制的所述音频文件 的音频帧数据。
[0107] 由于所述终端设备的录音应用进行音频文件的录制操作过程中,会形成一帧一帧 的音频帧数据,所述采集模块102从所述终端设备的录音应用中采集当前录制的所述音频 文件的音频帧数据,具体为:每当所述终端设备的录音应用中形成一帧音频帧数据,所述采 集模块102则从所述终端设备的录音应用中将该帧音频帧数据采集出来。
[0108] 编码模块103,用于对所述当前录制的所述音频文件的音频帧数据进行编码。
[0109] 其中,编码方式可为AMR编码方式,包括定点编码方式和浮点编码方式。所述编码 模块103优选采用AMR编码方式,对所述当前录制的所述音频文件的音频帧数据进行编码; 即所述编码模块103每采集到一帧音频帧数据,则采用AMR编码方式对该帧音频帧数据进 行编码。
[0110] 传输模块104,用于将所述编码后的音频帧数据传输至服务器。
[0111] 所述传输模块104将所述编码后的音频帧数据传输至服务器,则实现了对音频文 件进行边录制边发送的过程。所述传输模块104的传输过程的一种可行的实施方式为:可 以预设每次传输的所述编码后的音频帧数据的数量阈值,所述传输模块104可在所述客户 端缓存所述编码后的至少一帧音频帧数据,当缓存的所述编码后的音频帧数据的数据量到 达预设数量阈值时,所述传输模块104将该缓存的预设数量阈值的所述编码后的音频帧数 据传输至服务器。所述传输模块104的传输过程的另一种可行的实施方式为:可以预设每 次传输的所述编码后的音频帧数据的时长,所述传输模块104可在所述客户端缓存所述编 码后的至少一帧音频帧数据,当缓存的所述编码后的各帧音频帧数据的总帧长到达预设时 长时,所述传输模块104将该缓存的预设时长的所述编码后的音频帧数据传输至服务器。
[0112] 本发明实施例中,客户端能够在检测到音频传输请求时,调用客户端所在终端设 备的录音应用进行音频文件的录制,并采集当前录制的音频文件进行编码传输处理,从而 实现了对音频文件进行边录制边发送的过程,较好地减小了音频传输时延,有效地提升了 音频传输效率,满足用户对音频传输时延的实际需求。
[0113] 请参见图6,为本发明实施例提供的另一种客户端的结构示意图;调用模块101、 采集模块102、编码模块103、传输模块104、缓存模块105、触发检测模块106和数据提取模 块 107。
[0114] 缓存模块105,用于缓存所述编码后的音频帧数据。
[0115] 触发检测模块106,用于检测是否存在传输触发事件。
[0116] 其中,传输触发事件包括:已缓存的所述编码后的音频帧数据的数据量达到预设 数量阈值;或者,已缓存的所述编码后的音频帧数据的帧长达到预设时长。
[0117] 数据提取模块107,用于若存在传输触发事件,则提取已缓存的所述编码后的音频 帧数据,并通知所述传输模块将提取的所述编码后的音频帧数据传输至服务器。
[0118] 其中,所述数据提取模块107在提取已缓存的所述编码后的音频帧数据的同时, 从所述客户端的缓存空间中将已被提取的所述编码后的音频帧数据进行删除。
[0119] 本发明实施例中,客户端能够在检测到音频传输请求时,调用客户端所在终端设 备的录音应用进行音频文件的录制,并采集当前录制的音频文件进行编码传输处理,从而 实现了对音频文件进行边录制边发送的过程,较好地减小了音频传输时延,有效地提升了 音频传输效率,满足用户对音频传输时延的实际需求。
[0120] 下面将结合附图7-附图10,对上述的客户端中的各模块进行详细介绍。
[0121] 请参见图7,为本发明实施例提供的编码模块的实施例的结构示意图;该编码模 块103可包括:方式确定单元1301和编码单元1302。
[0122] 方式确定单元1301,用于确定与所述终端设备相适配的编码方式。
[0123] 其中,编码方式可为AMR编码方式,包括定点编码方式和浮点编码方式。定点编 码方式具备占用CPU资源少,计算简单,保真度较低的特点;浮点编码方式具备占用CPU资 源多,计算复杂,保真度较高的特点。所述方式确定单元1301可根据所述终端设备的CPU 性能,确定与所述终端设备相适配的编码方式,例如:若所述终端设备的CPU性能较低(如: (PU资源较少且计算能力较低),所述方式确定单元1301可确定定点编码方式为与所述终 端设备相适配的编码方式;再如:若所述终端设备的CPU性能较高(如:资源较多且计算能 力较高),所述方式确定单元1301可确定浮点编码方式为与所述终端设备相适配的编码方 式。
[0124] 编码单元1302,用于按照所确定的编码方式,对所述当前录制的所述音频文件的 音频帧数据进行编码。
[0125] 所述编码单元1302按照与所述终端设备相适配的编码方式,对所述当前录制的 所述音频文件的音频帧数据进行编码,可有效地提升编码效率,保证编码可靠性。
[0126] 请参见图8,为本发明实施例提供的方式确定单元的实施例的结构示意图;该方 式确定单元1301可包括:判断子单元1311和确定子单元1312。
[0127] 判断子单元1311,用于判断已录制的所述音频文件的音频帧数据的平均编码时间 是否大于预设时间阈值。
[0128] 由于所述终端设备的录音应用每录制形成一帧音频帧数据,所述客户端则采集该 帧音频帧数据,并对该帧音频帧数据进行编码;当需要对当前录制的音频帧数据进行编码 之前,所述判断子单元1311判断已录制的所述音频文件的音频帧数据的平均编码时间是 否大于预设时间阈值,即所述判断子单元1311判断已编码的音频帧数据的平均编码时间 是否大于预设时间阈值,该预设时间阈值可以根据实际情况进行设定,例如:可设定为ls, 2s等等。如果判断结果为是,表明编码耗费时间较长,进一步表明所述终端设备的CPU性能 较差。如果判断结果为否,表明编码耗费时间较短,进一步表明所述终端设备的CPU性能较 商。
[0129] 确定子单元1312,用于当已录制的所述音频文件的音频帧数据的平均编码时间大 于预设时间阈值时,将定点编码方式确定为与所述终端设备相适配的编码方式;或者,用于 当已录制的所述音频文件的音频帧数据的平均编码时间小于或等于预设时间阈值时,将浮 点编码方式确定为与所述终端设备相适配的编码方式。
[0130] 请参见图9,为本发明实施例提供的触发检测模块的一个实施例的结构示意图; 该触发检测模块106可包括:数据量检测单元1601和第一确定单元1602。
[0131] 数据量检测单元1601,用于检测已缓存的所述编码后的音频帧数据的数据量是否 达到预设数量阈值。
[0132] 其中,预设数量阈值可根据实际情况进行设定,例如:可根据网络带宽设置预设数 量阈值为2K、3K等等。本发明实施例中,由于所述终端设备的录音应用每录制形成一帧音 频帧数据,所述客户端则采集该帧音频帧数据,对该帧音频帧数据进行编码,并缓存所述的 音频帧数据;所述数据量检测单元1601检测已缓存的所述编码后的音频帧数据的数据量 是否达到预设数量阈值,例如:假设一帧编码后的音频帧数据的数据量为1Κ,预设数量阈 值为2Κ,则当所述客户端缓存两帧编码后的音频帧数据时,所述数据量检测单元1601可检 测到已缓存的所述编码后的音频帧数据的数据量达到预设数量阈值。
[0133] 第一确定单元1602,用于在所述已缓存的所述编码后的音频帧数据的数据量达到 预设数量阈值时,确定存在传输触发事件,并通知所述传输模块将所述编码后的音频帧数 据传输至服务器。
[0134] 请参见图10,为本发明实施例提供的触发检测模块的另一个实施例的结构示意 图;该触发检测模块106可包括:帧长检测单元1611和第二确定单元1612。
[0135] 帧长检测单元1611,用于检测已缓存的所述编码后的音频帧数据的帧长是否达到 预设时长。
[0136] 其中,预设时长可根据实际情况进行设定,例如:可设置预设时长为2s、3s等等。 本发明实施例中,由于所述终端设备的录音应用每录制形成一帧音频帧数据,所述客户端 则采集该帧音频帧数据,对该帧音频帧数据进行编码,并缓存所述的音频帧数据;所述帧长 检测单元1611则检测已缓存的所述编码后的音频帧数据的帧长是否达到预设时长,例如: 假设一帧编码后的音频帧数据的帧长为ls,预设数量阈值为2s,则当所述客户端缓存两帧 编码后的音频帧数据时,所述帧长检测单元1611可检测到已缓存的所述编码后的音频帧 数据的帧长达到预设时长。
[0137] 第二确定单元1612,用于在所述已缓存的所述编码后的音频帧数据的帧长达到预 设时长时,确定存在传输触发事件,并通知所述传输模块将所述编码后的音频帧数据传输 至服务器。
[0138] 本发明实施例中,客户端能够在检测到音频传输请求时,调用客户端所在终端设 备的录音应用进行音频文件的录制,并采集当前录制的音频文件进行编码传输处理,从而 实现了对音频文件进行边录制边发送的过程,较好地减小了音频传输时延,有效地提升了 音频传输效率,满足用户对音频传输时延的实际需求。
[0139] 本发明实施例还公开了 一种终端设备,该终端设备中包含客户端,该客户端的结 构和功能可参见图5-图10所示实施例的相关描述,在此不赘述。需要说明的是,本实施例 的终端设备可以应用于图1-图4所示的方法中。
[0140] 通过上述实施例的描述,本发明实施例中,客户端能够在检测到音频传输请求时, 调用客户端所在终端设备的录音应用进行音频文件的录制,并采集当前录制的音频文件进 行编码传输处理,从而实现了对音频文件进行边录制边发送的过程,较好地减小了音频传 输时延,有效地提升了音频传输效率,满足用户对音频传输时延的实际需求。
[0141] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以 通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质 中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁 碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random Access Memory,RAM)等。
[0142] 以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范 围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
【权利要求】
1. 一种音频传输方法,其特征在于,包括: 客户端检测到音频传输请求时,调用所述客户端所在终端设备的录音应用进行音频文 件的录制操作; 所述客户端从所述终端设备的录音应用中采集当前录制的所述音频文件的音频帧数 据; 所述客户端对所述当前录制的所述音频文件的音频帧数据进行编码,并将所述编码后 的音频帧数据传输至服务器。
2. 如权利要求1所述的方法,其特征在于,所述客户端对所述当前录制的所述音频文 件的音频帧数据进行编码之后,将所述编码后的音频帧数据传输至服务器之前,还包括: 所述客户端缓存所述编码后的音频帧数据。
3. 如权利要求2所述的方法,其特征在于,所述客户端缓存所述编码后的音频帧数据 之后,还包括: 所述客户端检测是否存在传输触发事件, 若存在传输触发事件,所述客户端提取已缓存的所述编码后的音频帧数据,并执行将 提取的所述编码后的音频帧数据传输至服务器的步骤。
4. 如权利要求3所述的方法,其特征在于,所述客户端检测是否存在传输触发事件,包 括: 所述客户端检测已缓存的所述编码后的音频帧数据的数据量是否达到预设数量阈 值; 若所述已缓存的所述编码后的音频帧数据的数据量达到预设数量阈值,所述客户端确 定存在传输触发事件。
5. 如权利要求3所述的方法,其特征在于,所述客户端检测是否存在传输触发事件,包 括: 所述客户端检测已缓存的所述编码后的音频帧数据的帧长是否达到预设时长; 若所述已缓存的所述编码后的音频帧数据的帧长达到预设时长,所述客户端确定存在 传输触发事件。
6. 如权利要求1-5任一项所述的方法,其特征在于,所述客户端对所述当前录制的所 述音频文件的音频帧数据进行编码,包括: 所述客户端确定与所述终端设备相适配的编码方式; 所述客户端按照所确定的编码方式,对所述当前录制的所述音频文件的音频帧数据进 行编码。
7. 如权利要求6所述的方法,其特征在于,所述客户端确定与所述终端设备相适配的 编码方式,包括: 所述客户端判断已录制的所述音频文件的音频帧数据的平均编码时间是否大于预设 时间阈值; 若已录制的所述音频文件的音频帧数据的平均编码时间大于预设时间阈值,所述客户 端将定点编码方式确定为与所述终端设备相适配的编码方式; 若已录制的所述音频文件的音频帧数据的平均编码时间小于或等于预设时间阈值,所 述客户端将浮点编码方式确定为与所述终端设备相适配的编码方式。
8. -种客户端,其特征在于,包括: 调用模块,用于在检测到音频传输请求时,调用所述客户端所在终端设备的录音应用 进行音频文件的录制操作; 采集模块,用于从所述终端设备的录音应用中采集当前录制的所述音频文件的音频帧 数据; 编码模块,用于对所述当前录制的所述音频文件的音频帧数据进行编码; 传输模块,用于将所述编码后的音频帧数据传输至服务器。
9. 如权利要求8所述的客户端,其特征在于,还包括: 缓存模块,用于缓存所述编码后的音频帧数据。
10. 如权利要求9所述的客户端,其特征在于,还包括: 触发检测模块,用于检测是否存在传输触发事件; 数据提取模块,用于若存在传输触发事件,则提取已缓存的所述编码后的音频帧数据, 并通知所述传输模块将提取的所述编码后的音频帧数据传输至服务器。
11. 如权利要求10所述的客户端,其特征在于,所述触发检测模块包括: 数据量检测单元,用于检测已缓存的所述编码后的音频帧数据的数据量是否达到预设 数量阈值; 第一确定单元,用于在所述已缓存的所述编码后的音频帧数据的数据量达到预设数量 阈值时,确定存在传输触发事件,并通知所述传输模块将所述编码后的音频帧数据传输至 服务器。
12. 如权利要求10所述的客户端,其特征在于,所述触发检测模块包括: 帧长检测单元,用于检测已缓存的所述编码后的音频帧数据的帧长是否达到预设时 长; 第二确定单元,用于在所述已缓存的所述编码后的音频帧数据的帧长达到预设时长 时,确定存在传输触发事件,并通知所述传输模块将所述编码后的音频帧数据传输至服务 器。
13. 如权利要求8-12任一项所述的客户端,其特征在于,所述编码模块包括: 方式确定单元,用于确定与所述终端设备相适配的编码方式; 编码单元,用于按照所确定的编码方式,对所述当前录制的所述音频文件的音频帧数 据进行编码。
14. 如权利要求13所述的客户端,其特征在于,所述方式确定单元,包括: 判断子单元,用于判断已录制的所述音频文件的音频帧数据的平均编码时间是否大于 预设时间阈值; 确定子单元,用于当已录制的所述音频文件的音频帧数据的平均编码时间大于预设时 间阈值时,将定点编码方式确定为与所述终端设备相适配的编码方式;或者,用于当已录制 的所述音频文件的音频帧数据的平均编码时间小于或等于预设时间阈值时,将浮点编码方 式确定为与所述终端设备相适配的编码方式。
15. -种终端设备,其特征在于,包括:如权利要求8-14任一项所述的客户端。
【文档编号】G10L19/002GK104143333SQ201310172926
【公开日】2014年11月12日 申请日期:2013年5月10日 优先权日:2013年5月10日
【发明者】张小龙, 赵原, 杨干荣 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1