音频播放的处理方法及电子设备与流程

文档序号:37428887发布日期:2024-03-25 19:19阅读:15来源:国知局
音频播放的处理方法及电子设备与流程

本技术涉及终端,尤其涉及一种音频播放的处理方法及电子设备。


背景技术:

1、随着终端设备技术的不断发展,目前在终端设备中进行音频播放的应用场景逐渐增多。

2、例如应用程序进行音频播放就是一种应用场景,例如可以是游戏应用播放游戏音频,或者还可以是直播应用播放直播音频等等。其中,在一些性能不佳的终端设备中,应用程序在播放音频时会有pop音的问题产生,pop音是指音频播放过程中不正常地出现破音。

3、pop音的产生会影响用户所感受到的音频效果,因此如何有效地避免pop音的出现是目前亟需解决的问题。


技术实现思路

1、本技术实施例提供一种音频播放的处理方法及电子设备,应用于终端技术领域。以有效避免音频播放过程中有效地避免pop音的出现。

2、第一方面,本技术实施例提出一种音频播放的处理方法。该方法包括:

3、当第一应用存在音频播放任务时,启动第一线程,其中,若所述音频播放任务存在时延要求,则所述第一线程为预设类型的线程;

4、所述第一线程检测所述第一应用是否注册回调函数,以及检测所述第一线程是否为预设类型的线程,其中,所述回调函数用于从缓冲队列中获取所述第一应用写入的音频数据;

5、若确定所述第一应用注册有回调函数,且所述第一线程为预设类型的线程,则所述第一线程提升系统的cpu频率。

6、在这种实现方式中,当第一线程确定第一应用注册回调函数,以及确定第一线程为预设类型的线程时,通过这两方面的考量,可以准确可靠地确定确实是通过低时延的音频数据处理流程来实现第一应用的音频播放任务,之后再提升cpu频率,可以保证cpu频率提升的必要性和有效性。同时,通过提升cpu频率,可以有效的加快音频数据的处理速度,从而有效避免在低时延音频数据的播放场景下,有pop音问题的出现。

7、在一种可能的实现方式中,所述启动第一线程之前,所述方法还包括:

8、所述第一应用向音频库发送第一调用指令,所述第一调用指令用于指示所述音频库创建音频播放器,以及在所述音频库中注册所述回调函数;

9、所述音频播放器向音轨单元发送第二调用指令,所述第二调用指令用于指示所述音轨单元创建应用音轨对象,所述第二调用指令中包括所述回调函数;

10、所述音轨单元响应于所述第二调用指令中包括所述回调函数,生成第一标志位;

11、所述音轨单元将所述第一标志位发送至音频处理组件,以使得所述音频处理组件对所述第一标志位进行记录。

12、在这种实现方式中,在确定第一应用注册有回调函数时,音轨单元可以生成第一标志位,其中第一标志位可以高效的传达出第一应用注册有回调函数的信息。并且将第一标志位记录在音频处理组件中,可以实现后续第一线程快速且直接的从音频处理组件中获取到第一标志位,以提升第一应用的检测效率,节省音频播放的时延。

13、在一种可能的实现方式中,所述第一线程检测所述第一应用是否注册回调函数,包括:

14、所述第一线程访问所述音频处理组件,确定所述音频处理组件中是否存储有所述第一标志位,以检测所述第一应用是否注册回调函数。

15、在一种可能的实现方式中,所述第一调用指令中还包括第一指示信息,所述第一指示信息用于指示所述第一应用的音频播放任务存在时延要求;所述第二调用指令中还包括所述第一指示信息;

16、所述方法还包括:

17、所述音轨单元向音频处理组件发送第三调用指令,所述第三调用指令用于指示待创建系统音轨对象,所述第三调用指令中包括所述第一指示信息;

18、所述音频处理组件响应于所述第三调用指令,向策略管理单元发送线程获取请求,所述线程获取请求中包括所述第一指示信息;

19、所述策略管理单元根据所述第一指示信息,将标志位为预设标志位的线程确定为所述第一线程,并向所述音频处理组件返回所述第一线程对应的线程指示信息,其中,所述预设标志位用于指示所述预设类型的线程。

20、在这种实现方式中,通过将标志位为预设标志位的线程确定为第一线程,以使得后续第一线程可以快速高效的确定,自己是否为预设类型的线程,同样可以提升系统的数据处理速度。

21、在一种可能的实现方式中,所述检测所述第一线程是否为预设类型的线程,包括:

22、所述第一线程确定其标志位是否为所述预设标志位,以检测所述第一线程是否为预设类型的线程。

23、在一种可能的实现方式中,所述启动第一线程包括:

24、所述音频处理组件向所述第一线程发送创建指令,以启动所述第一线程,其中,所述创建指令用于指示所述第一线程创建所述系统音轨对象;

25、所述方法还包括:

26、所述第一线程响应于所述创建指令,创建所述系统音轨对象;

27、所述第一线程建立所述系统音轨对象与所述应用音轨对象之间的映射关系,所述应用音轨对象用于将从所述缓冲队列中获取的音频数据写入环形缓冲区,所述系统音轨对象用于将从所述环形缓冲区中获取的音频数据提供给所述第一线程,以使得所述第一线程将所述音频数据发送至音频驱动进行播放。

28、在这种实现方式中,通过创建指令一方面可以启动第一线程,以有效触发后续流程的执行,另一方面通过创建指令还可以指示第一线程创建系统音轨对象,从而可以实现对创建指令的复用,有效节省信令开销,同时也可以节省多条信令的传输所带来的时延。以及,第一线程在创建系统音轨对象之后,还会建立系统音轨对象和应用音轨对象之间的映射关系,从而可以有效的实现将第一应用所生成的音频数据从应用层面传达到系统层面,以有效实现对音频数据的播放。

29、在一种可能的实现方式中,所述第一线程提升系统的cpu频率,包括:

30、所述第一线程将系统的cpu频率提升为预设频率。

31、在这种实现方式中,在提频操作是通过将cpu频率提升为预先设置的预设频率,可以有效的提升音频数据的处理速度,同时又不至于将cpu频率无限制的提升至太高而引起不必要的功耗问题。

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

33、在所述第一应用的音频播放任务结束时,所述第一线程检测cpu频率是否被提升;

34、若是,则所述第一线程将所述cpu频率恢复为原始频率。

35、在这种实现方式中,通过在音频播放任务结束时,对cpu频率进行恢复,从而可以有效的节省系统功耗。

36、在一种可能的实现方式中,所述第一线程将系统的cpu频率提升为预设频率之后,所述方法还包括:

37、所述第一线程将提频标志设置为预设字段,所述预设字段用于指示进行了提频操作;

38、所述第一线程检测cpu频率是否被提升,包括:

39、所述第一线程根据所述预设字段,检测所述cpu频率是否被提升。

40、在这种实现方式中,通过在提频操作之后将提频标志设置为预设字段,从而可以快速高效的表征已进行过提频操作。

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

42、所述第一应用基于所述提升后的cpu频率处理所述音频数据,并将处理后的音频数据写入所述缓冲队列。

43、在这种实现方式中,通过提升后的cpu频率来处理音频数据,从而可以有效的提升音频数据的处理速度,以避免pop音问题的出现。

44、第二方面,本技术实施例提供一种音频播放的处理装置,该音频播放的处理装置可以是电子设备,也可以是电子设备内的芯片或者芯片系统。该音频播放的处理装置可以包括处理单元。当该音频播放的处理装置是电子设备时,该处理单元可以是处理器。该音频播放的处理装置还可以包括存储单元,该存储单元可以是存储器。该存储单元用于存储指令,该处理单元执行该存储单元所存储的指令,以使该电子设备实现第一方面或第一方面的任意一种可能的实现方式中描述的一种音频播放的处理方法。当该音频播放的处理装置是电子设备内的芯片或者芯片系统时,该处理单元可以是处理器。该处理单元执行存储单元所存储的指令,以使该电子设备实现第一方面或第一方面的任意一种可能的实现方式中描述的一种音频播放的处理方法。该存储单元可以是该芯片内的存储单元(例如,寄存器、缓存等),也可以是该电子设备内的位于该芯片外部的存储单元(例如,只读存储器、随机存取存储器等)。

45、第三方面,本技术实施例提供一种电子设备,包括处理器和存储器,存储器用于存储代码指令,处理器用于运行代码指令,以执行第一方面或第一方面的任意一种可能的实现方式中描述的方法。

46、第四方面,本技术实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序或指令,当计算机程序或指令在计算机上运行时,使得计算机执行第一方面或第一方面的任意一种可能的实现方式中描述的方法。

47、第五方面,本技术实施例提供一种包括计算机程序的计算机程序产品,当计算机程序在计算机上运行时,使得计算机执行第一方面或第一方面的任意一种可能的实现方式中描述的方法。

48、第六方面,本技术提供一种芯片或者芯片系统,该芯片或者芯片系统包括至少一个处理器和通信接口,通信接口和至少一个处理器通过线路互联,至少一个处理器用于运行计算机程序或指令,以执行第一方面或第一方面的任意一种可能的实现方式中描述的方法。其中,芯片中的通信接口可以为输入/输出接口、管脚或电路等。

49、在一种可能的实现中,本技术中上述描述的芯片或者芯片系统还包括至少一个存储器,该至少一个存储器中存储有指令。该存储器可以为芯片内部的存储单元,例如,寄存器、缓存等,也可以是该芯片的存储单元(例如,只读存储器、随机存取存储器等)。

50、应当理解的是,本技术的第二方面至第六方面与本技术的第一方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。

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