音频播放的调频方法及电子设备与流程
- 国知局
- 2024-09-11 15:11:12
本发明涉及音频,尤其涉及一种音频播放的调频方法及电子设备。
背景技术:
1、在资源和性能受限的小型嵌入式系统中,播放音频时,音频文件解码时间过长,会出现音频声音卡顿不流畅的情况。例如,mcu(microcontroller unit,单片机)从外部存储设备(比如u盘、flash等)读取音频文件,一次只能读取少量数据,然后依据文件编码方式解码出原始的pcm(pulse code modulation,脉冲编码调制)数据进行播放。在此过程中,一次解码播放的数据比较少,可播放的时间只有几百毫秒。由于系统其它任务的调度运行,读取下一段数据并解码完成的时间可能会大于上一段数据可播放的时间,因此音频听起来就像是丢失了部分内容,出现噪声,甚至卡顿。
技术实现思路
1、本发明要解决的技术问题在于,针对上述背景技术中提及的相关技术存在的至少一个缺陷:播放音频时,音频文件解码时间过长,会出现音频声音卡顿不流畅的情况,提供一种音频播放的调频方法及电子设备。
2、本发明解决其技术问题所采用的技术方案是:构造一种音频播放的调频方法,应用于处理器,包括以下步骤:
3、s11:进入正式播放阶段,获取第i-1次解码后的总可播放时间、当前处理器频率下每次任务调度的间隔时间和当前处理器频率下解码所需时间,其中i≥2;
4、s12:通过判断第i-1次解码后的总可播放时间、当前处理器频率下每次任务调度的间隔时间和当前处理器频率下解码所需时间的关系,来调整或保持当前处理器的频率,并获取用于进行第i次解码的至少一音频片段;
5、s13:调度任务来对获取到的至少一音频片段进行解码;
6、s14:判断音频文件中的所有音频片段是否解码完成,若否,则执行步骤s15;若是,则结束;
7、s15:计算第i次解码后的总可播放时间;
8、s16:令i =i+1,并返回执行步骤s11。
9、优选地,步骤s12包括:
10、s121-1:根据第i-1次解码后的总可播放时间和当前处理器频率下每次任务调度的间隔时间,计算得到第i-1次解码后的剩余播放时间;
11、s122-1:通过对比第i-1次解码后的剩余播放时间与当前处理器频率下解码所需时间,来调整或保持当前处理器的频率,并获取用于进行第i次解码的至少一音频片段;
12、或者,步骤s12包括:
13、s121-2:根据第i-1次解码后的总可播放时间、当前处理器频率下每次任务调度的间隔时间和当前处理器频率下解码所需时间,计算得到第i-1次解码后的剩余播放时间;
14、s122-2:通过对比加权后的第i-1次解码后的剩余播放时间与当前处理器频率下每次任务调度的间隔时间和当前处理器频率下解码所需时间之和,来调整或保持当前处理器的频率,并获取用于进行第i次解码的至少一音频片段。
15、优选地,步骤s121-1包括:
16、利用第i-1次解码后的总可播放时间减去当前处理器频率下每次任务调度的间隔时间,得到第i-1次解码后的剩余播放时间;
17、步骤s122-1包括:
18、判断第i-1次解码后的剩余播放时间大于2倍的当前处理器频率下解码所需时间时,则降低当前处理器的频率,并获取用于进行第i次解码的至少一音频片段;
19、判断第i-1次解码后的剩余播放时间小于或等于当前处理器频率下解码所需时间时,则提高当前处理器的频率,并获取用于进行第i次解码的至少一音频片段;
20、判断第i-1次解码后的剩余播放时间大于当前处理器频率下解码所需时间,且小于或等于2倍的当前处理器频率下解码所需时间时,则保持当前处理器的频率,并获取用于进行第i次解码的至少一音频片段。
21、优选地,步骤s121-2包括:
22、利用第i-1次解码后的总可播放时间减去当前处理器频率下每次任务调度的间隔时间和当前处理器频率下解码所需时间,得到第i-1次解码后的剩余播放时间;
23、步骤122-2包括:
24、对第i-1次解码后的剩余播放时间进行加权,得到第一阈值;
25、判断第一阈值大于2倍的当前处理器频率下每次任务调度的间隔时间与当前处理器频率下解码所需时间之和,则降低当前处理器的频率,并获取用于进行第i次解码的至少一音频片段;
26、判断第一阈值小于或等于当前处理器频率下每次任务调度的间隔时间与当前处理器频率下解码所需时间之和时,则提高当前处理器的频率,并获取用于进行第i次解码的至少一音频片段;
27、判断第一阈值大于当前处理器频率下每次任务调度的间隔时间与当前处理器频率下解码所需时间之和,且小于或等于2倍的当前处理器频率下每次任务调度的间隔时间与当前处理器频率下解码所需时间之和时,则保持当前处理器的频率,并获取用于进行第i次解码的至少一音频片段。
28、优选地,步骤s15包括:
29、s151-1:获取第i次解码后的至少一音频片段的对应可播放时间以及重新获取当前处理器频率下解码所需时间;
30、s152-1:根据第i-1次解码后的剩余播放时间、当前处理器频率下解码所需时间以及第i次解码后的至少一音频片段的对应可播放时间,计算得到第i次解码后的总可播放时间;
31、或者,步骤s15包括:
32、s151-2:获取第i次解码后的至少一音频片段的对应可播放时间以及重新获取当前处理器频率下解码所需时间和当前处理器频率下每次任务调度的间隔时间;
33、s152-2:根据加权后的第i-1次解码后的剩余播放时间、当前处理器频率下解码所需时间、当前处理器频率下每次任务调度的间隔时间以及第i次解码后的至少一音频片段的对应可播放时间,计算得到第i次解码后的总可播放时间。
34、优选地,步骤s152-1包括:
35、利用第i-1次解码后的剩余播放时间减去当前处理器频率下解码所需时间,并加上第i次解码后的至少一音频片段的对应可播放时间,得到第i次解码后的总可播放时间;
36、或者,步骤s152-2包括:
37、利用加权后的第i-1次解码后的剩余播放时间减去当前处理器频率下解码所需时间和当前处理器频率下每次任务调度的间隔时间,并加上第i次解码后的至少一音频片段的对应可播放时间,得到第i次解码后的总可播放时间。
38、优选地,步骤s11之前还包括:
39、进入正式播放阶段,获取用于进行第1次解码的至少一音频片段;
40、调度任务来对获取到的至少一音频片段进行解码,获得第1次解码后的至少一音频片段的对应可播放时间;
41、将第1次解码后的至少一音频片段的对应可播放时间作为第1次解码后的总可播放时间。
42、优选地,所述方法还包括:
43、s21:进入预播放阶段,获取用于进行第j次预解码的至少一音频片段,其中j≥1;
44、s22:调度任务来对获取到的至少一音频片段进行解码,获得当前处理器频率下每次任务调度的间隔时间、当前处理器频率下解码所需时间以及第j次预解码后的至少一音频片段的对应可播放时间;
45、s23:根据当前处理器频率下每次任务调度的间隔时间、当前处理器频率下解码所需时间以及第j次预解码后的至少一音频片段的对应可播放时间,来预判断是否满足正式播放条件;
46、s24:若否,则调整当前处理器的频率,令j=j+1,并返回执行步骤s21;
47、s25:若是,则确定当前处理器的频率,以进入正式播放阶段。
48、优选地,步骤s23包括:
49、判断第j次预解码后的至少一音频片段的对应可播放时间是否大于或等于当前处理器频率下每次任务调度的间隔时间与当前处理器频率下解码所需时间之和;
50、或者,步骤s23包括:
51、对第j次预解码后的至少一音频片段的对应可播放时间进行加权,得到第二阈值;
52、判断第二阈值是否大于或等于当前处理器频率下每次任务调度的间隔时间与当前处理器频率下解码所需时间之和;
53、且,步骤s24包括:
54、若否,则提高当前处理器的频率,令j=j+1,并返回执行步骤s21。
55、本发明还构造了一种电子设备,包括:
56、一个或多个处理器;
57、存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述任一项所述的音频播放的调频方法。
58、通过实施本发明,具有以下有益效果:
59、本发明通过正式播放阶段的调频方法,可以对处理器的频率进行动态调整,从而在正式播放音频时能够保证声音的流畅,减少卡顿的情况。
60、另外,还通过预播放阶段的调频方法,可以在正式播放前对处理器的频率进行调整,进一步保证正式播放音频时声音的流畅。
本文地址:https://www.jishuxx.com/zhuanli/20240911/293479.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表