一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种音频数据加载方法、电子设备及存储介质与流程

2022-02-25 22:15:02 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,尤其涉及一种音频数据加载方法、电子设备及存储介质。


背景技术:

2.在传统的点歌录歌场景中,用户点击想要录唱的歌曲,电子设备就开始加载与该歌曲相关的多个音频文件。当这多个音频文件全部加载完成之后,才可以启动播放引擎进行伴奏(和/或原唱)播放,同时启动录制引擎进行歌曲录制。也就是说,当这多个音频文件全部加载完成之后,才可以同时/并行地播放伴奏(和/或原唱)和录制歌曲。
3.因此,在录唱之前需要预先下载若干个音频文件,而下载流程往往受限于用户实际的网络环境、设备性能等因素,所以导致首次加载的耗时长,用户等待时间长。


技术实现要素:

4.本技术实施例提供一种音频数据加载方法、电子设备及存储介质,可以减少k歌场景中的点唱耗时,同时可以降低录唱过程中发生二次缓冲的概率。
5.第一方面,本技术实施例提供了一种音频数据加载的方法,该方法包括:
6.获取与音频文件的加载相关的第一网络速度,并获取该音频文件的播放速度;
7.若该第一网络速度小于或等于该播放速度,则根据该音频文件的长度、该第一网络速度以及该音频文件的时长确定该音频文件中待加载的第一音频数据,并加载该第一音频数据,该第一音频数据为该音频文件中的全部或部分音频数据;
8.当加载完成该第一音频数据后,启动播放引擎播放该第一音频数据以及启动录制引擎对用户基于所播放的第一音频数据的演唱数据进行录制,并输出录唱页面。
9.结合第一方面,在一种可能的实现方式中,获取与音频文件的加载相关的第一网络速度,并获取该音频文件的播放速度之前,该方法还包括:
10.获取多项维度信息,该多项维度信息包括第一页面的平均停留时长、第二网络速度、以及历史二次缓冲置信度,该第一页面为该录唱页面前的页面,该第二网络速度为全局竞速模块采集到的网络速度;
11.将该多项维度信息输入分类器进行分类,该分类器用于对该多项维度信息进行处理输出分类结果;
12.若该分类器输出的分类结果为第一加载方式,则执行获取与音频文件的加载相关的第一网络速度,并获取该音频文件的播放速度的步骤。
13.结合第一方面,在一种可能的实现方式中,该方法还包括:
14.若该分类器输出的分类结果为第二加载方式,则加载该音频文件中的所有音频数据,当加载完成该音频文件中的所有音频数据后,启动播放引擎播放该所有音频数据以及启动录制引擎对用户基于所播放的所有音频数据的演唱数据进行录制。
15.结合第一方面,在一种可能的实现方式中,获取该音频文件的播放速度,包括:
16.响应于针对该音频文件的下载指令,加载该音频文件的头文件;
17.对该头文件进行解析,获得该音频文件的播放速度。
18.结合第一方面,在一种可能的实现方式中,获取与音频文件的加载相关的第一网络速度,包括:
19.获取第三网络速度和第四网络速度,该第三网络速度为全局竞速模块采集到的网络速度,该第四网络速度为该头文件的下载速度;
20.若该第三网络速度与该第四网络速度之间的绝对差值小于或等于第一阈值,则将该第四网络速度确定为该第一网络速度;
21.若该第三网络速度与该第四网络速度之间的绝对差值大于第二阈值,则对该第三网络速度和该第四网络速度进行加权处理,得到该第一网络速度。
22.结合第一方面,在一种可能的实现方式中,根据该音频文件的长度、该第一网络速度以及该音频文件的时长确定该音频文件中待加载的第一音频数据,包括:
23.将该音频文件的长度与该第一网络速度乘以该音频文件的时长所得乘积的差值确定为第一预测位置;
24.将该音频文件中从该音频文件的第一个音频帧开始到该第一预测位置为止的音频数据确定为该第一音频数据。
25.结合第一方面,在一种可能的实现方式中,音频文件包括伴唱流音频文件和原唱流音频文件;
26.该音频文件的长度包括该伴唱流音频文件的长度和该原唱流音频文件的长度,该音频文件的时长包括该伴唱流音频文件的时长和该原唱流音频文件的时长;
27.该将该音频文件的长度与该第一网络速度乘以该音频文件的时长所得乘积的差值确定为该第一预测位置,包括:
28.将该伴唱流音频文件的长度与该第一网络速度乘以该伴唱流音频文件的时长所得乘积的差值确定为第二预测位置;
29.将该原唱流音频文件的长度与该第一网络速度乘以该原唱流音频文件的时长所得乘积的差值确定为第三预测位置;
30.若该第二预测位置小于或等于该第三预测位置,则将该第三预测位置确定为该第一预测位置;
31.若该第二预测位置大于该第三预测位置,则将该第二预测位置确定为该第一预测位置。
32.结合第一方面,在一种可能的实现方式中,该方法还包括:若该第一网络速度大于该播放速度,则加载完成该音频文件的头文件后,下载该音频文件除该头文件之外的其他音频数据且并行启动播放引擎播放该其他音频数据及启动录制引擎对用户基于所播放的其他音频数据的演唱数据进行录制。
33.第二方面,本技术实施例提供一种音频数据加载装置,该音频数据加载装置包括:
34.第一获取模块,用于获取与音频文件的加载相关的第一网络速度和该音频文件的播放速度;
35.确定模块,用于当该第一网络速度小于或等于该播放速度时,根据该音频文件的长度、该第一网络速度以及该音频文件的时长确定第一音频数据,该第一音频数据为该音
频文件中的全部或部分音频数据;
36.加载模块,用于加载该第一音频数据;
37.启动模块,用于当加载完成该第一音频数据后,启动播放引擎播放该第一音频数据以及启动录制引擎对用户基于所播放的第一音频数据的演唱数据进行录制,并输出录唱页面。
38.结合第二方面,在一种可能的实现方式中,该装置还包括:第二获取模块,用于获取多项维度信息,该多项维度信息包括第一页面的平均停留时长、第二网络速度、以及历史二次缓冲置信度,该第一页面为该录唱页面前的页面,该第二网络速度为全局竞速模块采集到的网络速度;分类模块,用于将该多项维度信息输入分类器进行分类,该分类器用于对该多项维度信息进行处理输出分类结果;上述第一获取模块,具体用于当该分类器输出的分类结果为第一加载方式时,获取与音频文件的加载相关的第一网络速度,并获取该音频文件的播放速度。
39.结合第二方面,在一种可能的实现方式中,上述加载模块,具体用于当该分类器输出的分类结果为第二加载方式时,加载该音频文件中的所有音频数据;上述启动模块,用于当加载完成该音频文件中的所有音频数据后,启动播放引擎播放该所有音频数据以及启动录制引擎对用户基于所播放的所有音频数据的演唱数据进行录制。
40.结合第二方面,在一种可能的实现方式中,上述加载模块,用于响应于针对该音频文件的下载指令,加载该音频文件的头文件;该装置还包括解析模块,用于对该头文件进行解析,获得该音频文件的播放速度。
41.结合第二方面,在一种可能的实现方式中,上述第一获取模块包括获取单元,第一确定单元,以及加权处理单元。该获取单元,用于获取第三网络速度和第四网络速度,该第三网络速度为全局竞速模块采集到的网络速度,该第四网络速度为该头文件的下载速度;该第一确定单元,用于当该第三网络速度与该第四网络速度之间的绝对差值小于或等于第一阈值时,将该第四网络速度确定为该第一网络速度;该加权处理单元,用于当该第三网络速度与该第四网络速度之间的绝对差值大于第二阈值时,对该第三网络速度和该第四网络速度进行加权处理,得到该第一网络速度。
42.结合第二方面,在一种可能的实现方式中,上述确定模块包括:第二确定单元,用于将该音频文件的长度与该第一网络速度乘以该音频文件的时长所得乘积的差值确定为第一预测位置;第三确定单元,用于将该音频文件中从该音频文件的第一个音频帧开始到该第一预测位置为止的音频数据确定为该第一音频数据。
43.结合第二方面,在一种可能的实现方式中,上述音频文件包括伴唱流音频文件和原唱流音频文件,该音频文件的长度包括该伴唱流音频文件的长度和该原唱流音频文件的长度,该音频文件的时长包括该伴唱流音频文件的时长和该原唱流音频文件的时长。上述第二确定单元具体用于:
44.将该伴唱流音频文件的长度与该第一网络速度乘以该伴唱流音频文件的时长所得乘积的差值确定为第二预测位置;将该原唱流音频文件的长度与该第一网络速度乘以该原唱流音频文件的时长所得乘积的差值确定为第三预测位置;若该第二预测位置小于或等于该第三预测位置,则将该第三预测位置确定为该第一预测位置;若该第二预测位置大于该第三预测位置,则将该第二预测位置确定为该第一预测位置。
45.结合第二方面,在一种可能的实现方式中,上述启动模块,还用于当该第一网络速度大于该播放速度时,加载完成该音频文件的头文件后,下载该音频文件除该头文件之外的其他音频数据且并行启动播放引擎播放该其他音频数据及启动录制引擎对用户基于所播放的其他音频数据的演唱数据进行录制。
46.第三方面,本技术实施例提供了一种电子设备,该电子设备包括:处理器、存储器以及网络接口;该处理器与该存储器、该网络接口相连,其中,该网络接口用于提供网络通信功能,该存储器用于存储程序代码,该处理器用于调用该程序代码,以执行如上述第一方面中的音频数据加载方法。
47.第四方面,本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令当被处理器执行时,执行如上述第一方面中的音频数据加载方法。
48.本技术实施例通过获取与音频文件的加载相关的第一网络速度和音频文件的播放速度,若该第一网络速度小于或等于该播放速度,则根据该音频文件的长度、该第一网络速度以及该音频文件的时长确定所述音频文件中待加载的第一音频数据,再加载完该第一音频数据后,启动播放引擎播放该第一音频数据以及启动录制引擎对用户基于所播放的第一音频数据的演唱数据进行录制,并输出录唱页面。可以减少k歌唱场景中的点唱耗时,同时可以降低录唱过程中发生二次缓冲的概率,呈现一个可靠稳定的秒唱效果,提升用户体验。
附图说明
49.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
50.图1是本技术实施例提供的音频数据加载方法的一流程示意图;
51.图2是本技术实施例提供的第二预测位置和第三预测位置的示意图;
52.图3是本技术实施例提供的音频数据加载方法的另一流程示意图;
53.图4是本技术实施例提供的k歌场景中音频数据加载方法的示意图;
54.图5a是本技术实施例提供的录唱模式选择界面的示意图;
55.图5b是本技术实施例提供的二次缓冲界面的示意图;
56.图6是本技术实施例提供的音频数据加载装置的结构示意图;
57.图7是本技术实施例提供的电子设备的结构示意图。
具体实施方式
58.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
59.在本技术的描述中,“第一”、“第二”等字样仅用于区别不同对象,并不对数量和执
行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备等,没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元等,或可选地还包括对于这些过程、方法、产品或设备等固有的其它步骤或单元。
60.本技术中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术中被描述为“示例性的”、“举例来说”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”、“举例来说”或者“例如”等词旨在以具体方式呈现相关概念。
61.应理解,在本技术中,“当

时”、“若”以及“如果”均指在某种客观情况下装置会做出相应的处理,并非是限定时间,且也不要求装置实现时一定要有判断的动作,也不意味着存在其它限定。
62.本技术中对于使用单数表示的元素旨在用于表示“一个或多个”,而并非表示“一个且仅一个”,除非有特别说明。
63.为便于理解,本技术首先对本技术涉及到的一些术语进行简要的介绍。其中,点唱耗时是指从用户开始点歌到真正唱歌的总耗时。点唱首次缓冲耗时是指流媒体首次下载部分数据之后可进入播放状态的耗时。二次缓冲是指流媒体实时下载数据并提供数据给播放器,在播放过程中数据不够,需要缓冲等待下载的行为。
64.本技术中,“加载”和“下载”表示同一含义,即把程序、资料等从一个计算机系统输入另一个计算机系统,二者可替换使用。
65.本技术实施例提供的音频数据加载方法可以应用于k歌场景中。因为k歌场景涉及播放和录制两个过程,且这两个过程通常可以并行执行,所以在k歌场景中需要极低的二次缓冲率。本技术实施例通过获取终端当前的网络速度,并计算待下载音频文件的播放速度;如果终端当前的网络速度小于或等于播放速度,则根据该音频文件的长度、当前的网络速度以及该音频文件的时长计算需要下载的音频数据长度,当下载完这部分音频数据后,便可启动录制引擎进行录制;如果终端当前的网络速度大于播放速度,则加载完该音频文件的头文件后就可启动录制引擎进行录制。不仅可以使k歌场景的点唱耗时达到秒开,同时又能保证录唱过程中极低的二次缓冲行为,能够极大提升用户的录唱体验。
66.下面结合附图对本技术提供的技术方案进行详细说明。
67.参见图1,图1是本技术实施例提供的音频数据加载方法的一流程示意图。如图1所示,该音频数据加载方法包括但不限于以下步骤:
68.s101,电子设备获取与音频文件的加载相关的第一网络速度,并获取该音频文件的播放速度。
69.在一些可行的实施方式中,电子设备接收到用户针对某个音频文件的下载指令时,比如用户点击录唱某首歌曲的操作所触发的指令,响应于该下载指令,加载该音频文件(也就是这首歌曲对应的音频文件)的头文件。电子设备可以通过全局竞速模块采集当前的网络速度,将采集到的网络速度确定为第一网络速度。或者,电子设备加载完该音频文件的头文件后,获取加载该头文件所用的时长(即下载时长)和该头文件的长度,将该头文件的长度除以加载该头文件所用的时长而得到的商确定为第一网络速度。比如,头文件的长度
为200kb(千字节),加载完该头文件所用时长为2s(秒),则第一网络速度为200/2=100kb/s。当然,如果该头文件的长度除以加载该头文件所用的时长得到的商不是整数,也可以将该商取整(或四舍五入等处理)后的值作为第一网络速度,本技术实施例对此不做限定。应理解,本技术实施例提及的“第一网络速度”也可以理解为(该音频文件)的预测下载速度。
70.其中,该音频文件的头文件中包括该头文件的长度信息,电子设备在加载完音频文件的头文件后,可以对该头文件进行解析,获得该头文件中包含的头文件的长度。或者,该音频文件的头文件的长度为一个固定值或预设值,比如200kb。或者,电子设备在加载该音频文件的头文件时,记录加载完该头文件时的长度。应理解,本技术实施例提及的“长度”可以指大小,单位为比特(bit)、字节(byte)、千字节(kb)等。
71.电子设备在加载完该音频文件的头文件后还可以对该音频文件的头文件进行解析,获得该头文件中包含的音频文件的长度和音频文件的时长。因为音频文件通常是匀速播放的,所以电子设备可以将该音频文件的长度除以该音频文件的时长而得到的商确定为音频文件的播放速度。具体的,该音频文件的播放速度可以表示为下述公式(1-1)。
72.playerspeed=filelength/duration.......................(1-1)
73.其中,上述公式(1-1)中playerspeed表示音频文件的播放速度,filelength表示音频文件的长度,duration表示音频文件的时长。
74.在一些可行的实施方式中,电子设备接收到用户针对某个音频文件的下载指令时,响应于该下载指令,加载该音频文件的头文件。电子设备可以通过全局竞速模块采集当前的网络速度,将采集到的网络速度确定为第三网络速度。电子设备加载完该音频文件的头文件后,可以获取加载该头文件所用的时长,并对该头文件进行解析,获得该头文件中包含的该头文件的长度。电子设备将该头文件的长度除以加载该头文件所用的时长(即下载时长)得到的商确定为第四网络速度。电子设备可以计算该第三网络速度与该第四网络速度之间的绝对差值。如果该第三网络速度与该第四网络速度之间的绝对差值小于或等于第一阈值,说明该第三网络速度与该第四网络速度相差不大,则将该第四网络速度确定为第一网络速度。这是因为全局竞速模块采集到的网络速度是电子设备中当前运行的多个应用程序的全局参考值,也就是说当前运行的多个应用程序的总下载速度;而第四网络速度是通过音频文件的头文件的长度和头文件的下载时长计算得到的,更接近该音频文件自身所获得的下载速度。比如,假设第一阈值为50kb/s,当第三网络速度与第四网络速度之间的绝对差值小于或等于50kb/s时,就将第四网络速度确定为第一网络速度。
75.如果该第三网络速度与该第四网络速度之间的绝对差值大于或等于第二阈值,说明第三网络速度和第四网络速度相差较大,则将该第三网络速度乘以第一加权系数和该第四网络速度乘以第二加权系数的和确定为第一网络速度。这是因为当第三网络速度和第四网络速度相差较大时,说明此时电子设备的下载速度主要受到网络环境等影响,所以此时需要综合考虑这两个网络速度,进而得到一个预测的网络速度(下载速度),即第一网络速度。比如,假设第二阈值为300kb/s,第一加权系数为20%,第二加权系数为80%。当第三网络速度与第四网络速度之间的绝对差值大于或等于300kb/s时,将第三网络速度乘以20%加上第四网络速度乘以80%的和确定为第一网络速度。
76.其中,第一阈值与第二阈值可以相同,也可以不相同。
77.应理解,实时网络速度变化比较频繁,受到当前网络环境、运行商、内容分发网络
(content delivery network,cdn)部署、后台下载模块等影响,如果第一网络速度不够准确,那么可能在录制过程中出现二次缓冲的行为,或者增加点唱耗时,所以第一网络速度的准确性非常关键。因此,本技术实施例在第三网络速度与第四网络速度之间的绝对差值小于或等于第一阈值的情况下,直接将第四网络速度作为第一网络速度;在第三网络速度与第四网络速度之间的绝对差值大于或等于第二阈值的情况下,综合考虑第三网络速度与第四网络速度,将其加权处理后的值作为第一网络速度,可以更加准确地预测后续加载音频文件的网络速度,从而减少后续计算中出现偏差,比如提高后续预测二次缓冲位置的准确度。
78.s102,若第一网络速度小于或等于播放速度,则电子设备根据音频文件的长度、第一网络速度以及音频文件的时长确定音频文件中待加载的第一音频数据,并加载第一音频数据。
79.在一些可行的实施方式中,当上述第一网络速度小于或等于上述播放速度时,说明在播放过程中加载上述音频文件的速度比播放上述音频文件的播放速度慢,可能会出现二次缓冲的行为。所以,电子设备可以将该音频文件的长度与该第一网络速度乘以该音频文件的时长所得乘积之差确定为第一预测位置。具体的,该第一预测位置可以通过下述公式(1-2)计算得出。这里,第一预测位置可以理解为该音频文件可能发送二次缓冲的位置。应理解,本技术实施例提及的“位置”不是物理/地理位置,而是指音频文件中的时间节点。
80.expectdownloadpos=length-(downspeed*duration)................(1-2)
81.其中,expectdownloadpos表示第一预测位置,即该音频文件中可能发生二次缓冲的位置,length表示该音频文件的长度,downspeed表示第一网络速度,即预测的该音频文件的下载速度,duration表示音频文件的时长。
82.电子设备可以将该音频文件中从该音频文件的第一个音频帧开始到该第一预测位置为止的音频数据确定为第一音频数据。或者,电子设备可以将该音频文件中从该音频文件的第一个音频帧开始到大于该第一预测位置的任意位置为止的音频数据确定为第一音频数据。然后,电子设备可以加载该第一音频数据。
83.应理解,为了尽可能减少时延,本技术实施例中的第一音频数据可以为从音频文件的第一个音频帧开始到第一预测位置为止的音频数据。当然,第一音频数据也可以是从音频文件的第一个音频帧开始到大于第一预测位置的任意位置为止的音频数据。
84.可见,本技术实施例通过计算第一预测位置,即预测音频文件中可能发生二次缓冲的位置,并提前(指启动录制引擎和播放引擎之前)将该音频文件从头加载到第一预测位置,可以减少播放过程中发生二次缓冲的概率,提高二次缓冲置信度,从而提高录唱场景中的用户体验。
85.在一些可行的实施方式中,上述音频文件可以包括一个或多个音频文件。具体的,上述音频文件可以包括伴唱流音频文件和原唱流音频文件。相应的,该音频文件的长度包括伴唱流音频文件的长度和原唱流音频文件的长度,该音频文件的时长包括伴唱流音频文件的时长和原唱流音频文件的时长。同理,电子设备可以将伴唱流音频文件的长度与上述第一网络速度乘以该伴唱流音频文件的时长所得乘积之差确定为第二预测位置。电子设备还可以将原唱流音频文件的长度与该第一网络速度乘以该原唱流音频文件的时长所得乘积之差确定为第三预测位置。如果该第二预测位置小于或等于该第三预测位置,说明加载
从原唱流音频文件的第一个音频帧到第三预测位置的音频数据所需要的时间、比加载从伴唱流音频文件的第一个音频帧到第二预测位置的音频数据所需要的时间更长,则电子设备将该第三预测位置确定为第一预测位置。如果该第二预测位置大于该第三预测位置,说明加载从伴唱流音频文件的第一个音频帧到第二预测位置的音频数据所需要的时间、比加载从原唱流音频文件的第一个音频帧到第三预测位置的音频数据所需要的时间更长,则电子设备将该第二预测位置确定为第一预测位置。
86.本技术实施例将原唱流音频文件和伴唱流音频文件中更长的预测位置作为最终预测出的可能发生二次缓冲的位置,并提前加载这部分音频数据,可以减少原唱流和伴唱流播放过程中发生二次缓冲的概率,提高二次缓冲置信度,从而提高录唱场景中的用户体验。
87.示例性的,参见图2,图2是本技术实施例提供的第二预测位置和第三预测位置的示意图。如图2所示,假设伴唱流音频文件的第二预测位置为12s,原唱流音频文件的第三预测位置为10s,此时第二预测位置大于第三预测位置,则将第二预测位置确定为第一预测位置,即第一预测位置为12s,第一音频数据包括伴唱流音频文件从0s开始到12s为止的音频数据、和原唱流音频文件从0s开始到12s为止的音频数据。电子设备分别加载伴唱流音频文件从0s开始到12s为止的音频数据,和原唱流音频文件从0s开始到12s为止的音频数据。
88.s103,当加载完成第一音频数据后,电子设备基于录唱界面播放该第一音频数据以及对用户的演唱数据进行录制。
89.在一些可行的实施方式中,当电子设备加载完成上述第一音频数据后,电子设备可以启动录制引擎对第一音频数据的演唱数据进行录制,还可以同时/并行启动播放引擎进行该第一音频数据的播放。或者,当电子设备加载完成上述第一音频数据后,电子设备接收到用户触发的录制指令时,启动录制引擎进行录制并启动播放引擎进行播放。需要说明的是,在播放第一音频数据之前或者同时,可以显示录唱界面。基于录唱界面播放第一音频数据表示的是,在使用播放引擎播放第一音频数据的同时,录唱界面可以同步显示第一音频数据的相关信息,如歌词信息、歌曲音效信息等等。基于录唱界面录制演唱数据表示的是,在使用录制引擎录制演唱数据的同时,录唱界面可以同步显示与录唱情况相关的信息,如录唱进度、录唱效果等等。
90.其中,电子设备加载第一音频数据的方式包括但不限于:采用支持多通道的网速通道加载、断点续传、以及分片传输等。
91.可选的,电子设备启动录制引擎进行录制后,可以在后台并发下载上述音频文件中除该第一音频数据外的其他音频数据。也就是说,电子设备可以在录制和播放过程中,通过后台并发下载剩余部分音频数据。
92.在本技术实施例中,电子设备不用完整的下载音频文件,只需下载极少的音频数据(即第一音频数据),就可让用户进入录歌,剩余部分音频数据通过充分利用页面之间的交互时间和播放之前下载好的音频数据的时间在后台高速并发的下载,可以减少k歌场景中的点唱耗时,从而实现秒唱的效果,提升用户录唱体验。另外,通过预测录唱过程中可能发生二次缓冲的位置,提前(在进入录歌之前)加载一部分数据(即第一音频数据),可以降低录唱过程中发生二次缓冲的概率。
93.参见图3,图3是本技术实施例提供的音频数据加载方法的另一流程示意图。如图3
所示,该音频数据加载方法包括但不限于以下步骤:
94.s301,电子设备获取多项维度信息,该多项维度信息包括第一页面的平均停留时长、第二网络速度、以及历史二次缓冲置信度,该第一页面为录唱页面前的页面,该第二网络速度为全局竞速模块采集到的网络速度。
95.s302,电子设备将该多项维度信息输入到分类器进行分类,该分类器用于对该多项维度信息进行处理输出分类结果。
96.在一些可行的实施方式中,用户在电子设备上点击想要进行录唱的音频文件(或歌曲),此时电子设备响应于该点击操作可以获取用户在第一页面的平均停留时长、全局竞速模块当前采集到的第二网络速度(或实时网络速度)、以及历史二次缓冲置信度。该第一页面为录唱页面前的页面,本技术实施例将第一页面称为前置页面,比如第一页面是录唱模式的选择页面等。这里用户在第一页面的平均停留时长是指用户在前置页面过往若干次的平均停留时长。电子设备可以将该平均停留时长、第二网络速度、以及历史二次缓冲置信度输入到分类器中进行处理,获得该分类器输出的分类结果。这里的历史二次缓冲置信度为历史记录的在电子设备满足该平均停留时长和第二网络速度的情况下发生二次缓冲的概率。
97.其中,该分类器是训练好的分类模型,可以用于对维度信息进行处理输出分类结果。该分类器采用朴素贝叶斯模型,对输入的维度信息进行二分类,输出分类结果。这里的平均停留时长可以是区间,第二网络速度也可以是区间。
98.换句话说,上述步骤s301和步骤s302还可以描述为:在用户点击k歌的时候,根据用户当前的维度信息(停留时长区间x,实时网络速度区间y,历史二次缓冲置信度z),由分类器得到一个策略结论,根据该分类器输出的策略结论确定是使用普通加载策略还是流媒体加载策略。如果使用流媒体加载策略,则进入下一个阶段,如执行下述步骤s304。如果使用普通加载策略,则执行下述步骤s303。
99.在一些可行的实施方式中,在训练过程中,电子设备可以获取一定数量的样本数据,比如前置页面的平均停留时长和实时网络速度(通过全局竞速模块采集到的)。电子设备可以将前置页面的平均停留时长和实时网络速度进行区间划分,从而减少样本数据量。可选的,区间的长度可以调整。比如,将前置页面的平均停留时长按照1s的间隔进行划分,得到(0-1s],(1s-2s],(2s-3s],(3s-4s],(4s以上)等区间,将实时网络速度按照300kb/s的间隔进行划分,得到(0-300kb/s],(300kb/s-600kb/s],(600kb/s-900kb/s],(900kb/s-1200kb/s],(1200kb/s-1500kb/s],(1500kb/s以上)等区间。电子设备可以获取训练样本集,训练样本集中包括多个训练样本。一个训练样本包括前置页面的一个平均停留时长(区间)、一个实时网络速度(区间)、以及一个历史二次缓冲置信度。应理解,历史二次缓冲置信度的初始值为0。电子设备采用训练样本集中的训练样本对朴素贝叶斯模型进行训练,以得到训练好的分类器。其中,电子设备采用每个训练样本训练完成后均会更新本地的历史二次缓冲置信度,该更新的历史二次缓冲置信度可以作为下一个训练样本中的历史二次缓冲置信度。比如,历史二次缓冲置信度为1/2,如果进行一次样本训练的过程中没有出现二次缓冲,则将历史二次缓冲置信度更新为1/3。
100.s303,若该分类器输出的分类结果为第二加载方式,则电子设备加载该音频文件中的所有音频数据,当加载完成该音频文件中的所有音频数据后,启动播放引擎播放该所
有音频数据以及启动录制引擎对用户基于所播放的所有音频数据的演唱数据进行录制。
101.在一些可行的实施方式中,如果上述分类器输出的分类结果是第二加载方式(即普通加载方式),则电子设备可以直接加载该音频文件中的所有音频数据,并当加载完成该音频文件中的所有音频数据后,启动播放引擎播放该所有音频数据以及启动录制引擎用户基于所播放的所有音频数据的演唱数据进行录制。
102.s304,若该分类器输出的分类结果为第一加载方式(即流媒体加载方式),则电子设备获取与音频文件的加载相关的第一网络速度,并获取该音频文件的播放速度。
103.s305,若第一网络速度小于或等于播放速度,则电子设备根据音频文件的长度、第一网络速度以及音频文件的时长确定音频文件中待加载的第一音频数据,并加载第一音频数据。
104.s306,当加载完成第一音频数据后,电子设备启动播放引擎播放该第一音频数据以及启动录制引擎对用户基于所播放的第一音频数据的演唱数据进行录制,并输出该录唱页面。
105.在一些可行的实施方式中,本技术实施例中步骤s304-步骤s306的实现方式可参考前述图1中步骤s101-步骤s103的实现方式,在此不再赘述。
106.在一些可行的实施方式中,由于网络速度变化比较频繁,受当时网络环境、运行商、cdn部署、其他后台下载模块等影响,所以即使已经提前加载了第一音频数据,但仍然有可能发生二次缓冲。故,如果电子设备检测到在录制过程或播放过程中出现二次缓冲的行为,则电子设备可以暂停录制引擎和播放引擎,并输出缓冲界面,提醒用户等待音频文件的加载。当该音频文件加载到某个位置(比如从当前位置(这里是出现二次缓冲的位置)加载到一定时长(如15s或10s等))后,电子设备可以恢复录制引擎和播放引擎,继续进行录制和播放。应理解,如果在录制过程或播放过程中没有出现二次缓冲的行为,则继续进行录唱。
107.在一些可行的实施方式中,在电子设备加载完第一音频数据的情况下,如果录制过程或播放过程中仍然发生了二次缓冲的行为,则电子设备可以将发生二次缓冲的概率确定为二次缓冲置信度。比如,有0.5%的用户在加载完成第一音频数据后,在播放音频文件的时候,仍然发生了二次缓冲,那么二次缓冲置信度则为99.5%。因为第一网络速度会影响音频文件中可能发生二次缓冲的位置(即上述第一预测位置),而第一网络速度基于前述第三网络速度和前述第四网络速度确定。所以当二次缓冲置信度下降到某一阈值时,电子设备通过调整第三网络速度和第四网络速度的权重(即加权系数),来调整第一网络速度的值,从而提高二次缓冲置信度,即减少录制过程或播放过程中二次缓冲出现的概率。
108.s307,若该第一网络速度大于播放速度,则电子设备加载完成该音频文件的头文件后,下载该音频文件除该头文件之外的其他音频数据且并行启动播放引擎播放该其他音频数据及启动录制引擎对用户基于所播放的其他音频数据的演唱数据进行录制。
109.在一些可行的实施方式中,如果上述第一网络速度(即预测的下载速度)大于上述播放速度,说明在播放过程中加载上述音频文件的速度比播放上述音频文件的播放速度快,不会出现二次缓冲的行为,所以电子设备可以在加载完该音频文件的头文件后,下载该音频文件除该头文件之外的其他音频数据且并行启动播放引擎播放该其他音频数据及启动录制引擎对用户基于所播放的其他音频数据的演唱数据进行录制,还可以并行/同时输出录唱页面。应理解,电子设备启动录制引擎进行录制后,可以在后台并发下载上述音频文
件中未下载的音频数据。也就是说,电子设备可以在录制和播放过程中,通过后台并发下载剩余的音频数据。
110.可选的,当上述第一网络速度(即预测的下载速度)等于上述播放速度时,既可以直接在加载完该音频文件的头文件后,启动录制引擎进行录制;也可以根据音频文件的长度、第一网络速度以及音频文件的时长确定音频文件中待加载的第一音频数据,并加载第一音频数据,当加载完成第一音频数据后,再启动录制引擎进行录制。具体的,当上述第一网络速度(即预测的下载速度)等于上述播放速度时,电子设备执行何种操作可视实际情况而定。
111.可见,本技术实施例在下载速度(即第一网络速度)大于播放速度的情况下,加载完上述音频文件的头文件后,直接启动录制引擎进行录制,可以快速进入录唱环节,减少k歌场景中的点唱耗时。
112.可选的,电子设备也可以在加载完该音频文件的头文件后,等待接收到录制指令时,再启动录制引擎进行录制。
113.在本技术实施例中,电子设备通过参考用户在前置页面的停留时长,并准确评估实时网络速度、历史二次缓冲置信度,以及基于统计数据线上调节相关参数(比如二次缓冲置信度)等机制来减少k歌场景中的二次缓冲概率,再通过平衡加载耗时与二次缓冲的比例,使得k歌场景也能应用流媒体实时传输的特性,从而减少在k歌场景下的点唱耗时,降低录唱过程中发生二次缓冲的概率,呈现出可靠稳定的秒唱效果,提升用户的体验。
114.为更好地理解本技术实施例提供的技术方案,下面通过一个示例来说明本技术实施例提供的音频数据加载方法。
115.一个示例中,本技术实施例提供的音频数据加载方法应用于k歌场景中。参见图4,图4是本技术实施例提供的k歌场景中音频数据加载方法的示意图。如图4所示,用户在电子设备上选择想要录唱的音频文件,点击k歌控件(比如k歌按钮、k歌图标等),电子设备一方面进入如图5a所示的录唱模式选择界面(即上述第一页面)。如图5a所示,图5a是本技术实施例提供的录唱模式选择界面的示意图。图5a的录唱模式选择界面包括但不限于以下一项或多项:返回控件401、音频文件402、练唱模式403、歌词部分404、音频视频切换控件405、开始独唱控件406、合唱模式407、独唱模式408、片段唱模式409。应理解,图5a仅是示例,实际实现中录唱模式选择界面包括的内容可以多于图5a所示的内容,也可以少于图5a所示的内容,本技术实施例对录唱模式选择界面的具体实现不做限定。
116.电子设备另一方面获取用户的维度信息(比如前置页面(即录唱模式选择界面)过往若干次平均停留时长,实时网络速度,过往二次缓冲置信度等),并将维度信息输入到策略生成模块(即分类器)中进行策略判断。如果策略生成模块输出的策略结论是普通加载(即第二加载方式),则电子设备可以直接加载用户选择的音频文件中的所有音频数据,并当加载完成该音频文件中的所有音频数据后,启动录制引擎进行录制。如果策略生成模块输出的策略结论是流(媒体)加载策略(即第一加载方式),则电子设备开始加载伴唱流音频文件和原唱流音频文件,并同步解析伴唱流音频文件的头文件和原唱流音频文件的头文件。如果头文件解析失败,则电子设备重新加载伴唱流音频文件和原唱流音频文件。,如果头文件解析成功,则可以获取到伴唱流音频文件的时长、伴唱流音频文件的长度、原唱流音频文件的长度、原唱流音频文件的时长等。电子设备在头文件解析成功的情况下,判断是否
音频文件加载到了预测的二次缓冲位置(即第一预测位置),如果加载到了预测的二次缓冲位置,则电子设备启动录制引擎进行歌曲录制,并启动播放引擎同步播放伴奏。
117.如果在录制过程中出现了二次缓冲的行为,说明此时命中了二次缓冲事件,则电子设备调用接口输出如图5b所示的二次缓冲界面,同时暂停录制引擎和播放引擎以等待下载数据准备就绪,并提示用户需要等待音频文件的音频数据加载。下载完之后恢复录制引擎和播放引擎的工作状态,继续进行录制。如图5b所示,图5b是本技术实施例提供的二次缓冲界面的示意图。图5b的二次缓冲界面包括但不限于以下一项或多项:进度百分比502、进度条503、加载文字控件504、加载图标501等。其中,进度百分比502和进度条503用于展示加载音频文件的进度,通过加载文字控件504和加载图标501提示用户该音频文件正在加载中。当然,如果在录制过程中没有发生二次缓冲的行为,则正常k歌。
118.这样,可以减少k歌场景中的点唱耗时,降低录唱过程中发生二次缓冲的概率,实现秒唱的效果。
119.参见图6,图6是本技术实施例提供的音频数据加载装置的结构示意图。如图6所示,该音频数据加载装置包括:
120.第一获取模块11,用于获取与音频文件的加载相关的第一网络速度和该音频文件的播放速度;
121.确定模块12,用于当该第一网络速度小于或等于该播放速度时,根据该音频文件的长度、该第一网络速度以及该音频文件的时长确定第一音频数据,该第一音频数据为该音频文件中的全部或部分音频数据;
122.加载模块13,用于加载该第一音频数据;
123.启动模块14,用于当加载完成该第一音频数据后,启动播放引擎播放该第一音频数据以及启动录制引擎对用户基于所播放的第一音频数据的演唱数据进行录制,并输出录唱页面。
124.在一些可行的实施方式中,该装置还包括第二获取模块15和分类模块16。该第二获取模块15,用于获取多项维度信息,该多项维度信息包括第一页面的平均停留时长、第二网络速度、以及历史二次缓冲置信度,该第一页面为该录唱页面前的页面,该第二网络速度为全局竞速模块采集到的网络速度;该分类模块16,用于将该多项维度信息输入分类器进行分类,该分类器用于对该多项维度信息进行处理输出分类结果;上述第一获取模块11,具体用于当该分类器输出的分类结果为第一加载方式时,获取与音频文件的加载相关的第一网络速度,并获取该音频文件的播放速度的步骤。
125.在一些可行的实施方式中,上述加载模块13,还用于当该分类器输出的分类结果为第二加载方式时,加载该音频文件中的所有音频数据;上述启动模块14,用于当加载完成该音频文件中的所有音频数据后,启动播放引擎播放该所有音频数据以及启动录制引擎对用户基于所播放的所有音频数据的演唱数据进行录制。
126.在一些可行的实施方式中,该装置还包括解析模块17。上述加载模块13,用于响应于针对音频文件的下载指令,加载该音频文件的头文件;该解析模块17,用于对该头文件进行解析,获得该音频文件的播放速度。
127.在一些可行的实施方式中,上述第一获取模块11包括获取单元111、第一确定单元112,以及加权处理单元113。该获取单元111,用于获取第三网络速度和第四网络速度,该第
三网络速度为全局竞速模块采集到的网络速度,该第四网络速度为该头文件的下载速度;该第一确定单元112,用于当该第三网络速度与该第四网络速度之间的绝对差值小于或等于第一阈值时,将该第四网络速度确定为该第一网络速度;该加权处理单元113,用于当该第三网络速度与该第四网络速度之间的绝对差值大于第二阈值时,对该第三网络速度和该第四网络速度进行加权处理,得到该第一网络速度。
128.在一些可行的实施方式中,上述确定模块12包括第二确定单元121和第三确定单元122。该第二确定单元121,用于将该音频文件的长度与该第一网络速度乘以该音频文件的时长所得乘积的差值确定为第一预测位置;该第三确定单元122,用于将该音频文件中从该音频文件的第一个音频帧开始到该第一预测位置为止的音频数据确定为该第一音频数据。
129.在一些可行的实施方式中,上述音频文件包括伴唱流音频文件和原唱流音频文件,该音频文件的长度包括该伴唱流音频文件的长度和该原唱流音频文件的长度,该音频文件的时长包括该伴唱流音频文件的时长和该原唱流音频文件的时长。上述第二确定单元121具体用于:
130.将该伴唱流音频文件的长度与该第一网络速度乘以该伴唱流音频文件的时长所得乘积的差值确定为第二预测位置;将该原唱流音频文件的长度与该第一网络速度乘以该原唱流音频文件的时长所得乘积的差值确定为第三预测位置;若该第二预测位置小于或等于该第三预测位置,则将该第三预测位置确定为该第一预测位置;若该第二预测位置大于该第三预测位置,则将该第二预测位置确定为该第一预测位置。
131.在一些可行的实施方式中,上述启动模块14,还用于当该第一网络速度大于该播放速度时,加载完成该音频文件的头文件后,下载该音频文件除该头文件之外的其他音频数据且并行启动播放引擎播放该其他音频数据及启动录制引擎对用户基于所播放的其他音频数据的演唱数据进行录制。
132.其中,上述第一获取模块11、上述确定模块12、上述加载模块13、上述启动模块14、上述第二获取模块15、上述分类模块16、和/或上述解析模块17可以为一个模块,如处理模块。
133.具体实现中,上述音频数据加载装置可通过上述各个模块执行上述图1、图3或图4所提供的实现方式中各个步骤所提供的实现方式,实现上述各实施例中所实现的功能,具体可参见上述图1或图3所示的方法实施例中各个步骤提供的相应描述,在此不再赘述。
134.本技术实施例的音频数据加载装置通过获取与音频文件的加载相关的第一网络速度和音频文件的播放速度,如果该第一网络速度小于或等于该播放速度,则根据该音频文件的长度、该第一网络速度以及该音频文件的时长确定第一预测位置,将该音频文件中从第一个音频帧开始到该第一预测位置为止的音频数据确定为第一音频数据,再加载该第一音频数据,当加载完成该第一音频数据后,电子设备启动播放引擎播放该第一音频数据以及启动录制引擎对用户基于所播放的第一音频数据的演唱数据进行录制,并输出录唱页面。可以减少k歌场景中的点唱耗时,同时还可以降低录唱场景中发生二次缓冲的概率,呈现一个可靠稳定的秒唱效果,提升用户体验。
135.参见图7,图7是本技术实施例提供的电子设备的结构示意图。如图7所示,本技术实施例中的电子设备1000可以包括:处理器1001、存储器1003,此外,所述图像数据处理装
置1000还可以包括至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,存储器1003可以是高速ram存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1003可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图7所示,作为一种计算机可读存储介质的存储器1003中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
136.在图7所示的电子设备1000中,处理器1001可以用于调用存储器1003中存储的设备控制应用程序,以实现:
137.获取与音频文件的加载相关的第一网络速度,并获取该音频文件的播放速度;
138.若该第一网络速度小于或等于该播放速度,则根据该音频文件的长度、该第一网络速度以及该音频文件的时长确定该音频文件中待加载的第一音频数据,并加载该第一音频数据,该第一音频数据为该音频文件中的全部或部分音频数据;
139.当加载完成该第一音频数据后,启动播放引擎播放该第一音频数据以及启动录制引擎对用户基于所播放的第一音频数据的演唱数据进行录制,并输出录唱页面。
140.应当理解,本技术实施例中的处理器1001可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
141.该存储器1003可以包括只读存储器和随机存取存储器,并向处理器1001提供指令和数据。存储器1003的一部分还可以包括非易失性随机存取存储器。例如,存储器1003还可以存储设备类型的信息。
142.具体实现中,本技术实施例中所描述的电子设备1000可执行前文图1、或图3或图4所对应实施例中对音频数据加载方法的描述,也可执行前文图6所对应实施例中对音频数据加载装置的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
143.此外,这里需要指出的是:本技术实施例还提供了一种计算机可读存储介质,且所述计算机可读存储介质中存储有前文提及的电子设备1000所执行的计算机程序,且所述计算机程序包括程序指令,当所述处理器执行所述程序指令时,能够执行前文图1、或图3或图4所对应实施例中对音频数据加载方法的描述,也可执行前文图6所对应实施例中对音频数据加载装置的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本技术所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本技术方法实施例的描述。
144.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random access memory,ram)等。
145.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何
熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献