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

音频播放处理方法、装置、存储介质以及计算机设备与流程

2022-07-13 18:26:00 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,具体而言,涉及一种音频播放处理方法、装置、存储介质和计算机设备。


背景技术:

2.现有的应用程序,如视频播放软件、音频播放软件和游戏软件等,在运行时均会产生音频数据并播放。在音频播放设备处于静音播放模式时,音频播放设备虽然没有发出声音,但是相关软件和硬件都处于工作状态。


技术实现要素:

3.本技术提供一种音频播放处理方法、装置、存储介质以及计算机设备,可以解决如何降低音频播放过程产生的功耗的技术问题。
4.第一方面,本技术实施例提供一种音频播放处理方法,该方法包括:
5.响应于音频播放软件获取的目标音频,对所述目标音频进行分段处理,得到至少一个分段数据;
6.按照所述目标音频的播放顺序,在所述至少一个分段数据中获取音频数据,获取针对所述音频数据的播放音量值,所述音频数据为所述至少一个分段数据中的任一分段数据;
7.若所述播放音量值小于或等于音量阈值,则控制音频驱动、硬件驱动和音频播放硬件进入待机状态,并丢弃所述音频数据。
8.第二方面,本技术实施例提供一种音频播放处理装置,包括:
9.音频处理模块,用于响应于音频播放软件获取的目标音频,对所述目标音频进行分段处理,得到至少一个分段数据;
10.音量获取模块,用于按照所述目标音频的播放顺序,在所述至少一个分段数据中获取音频数据,获取针对所述音频数据的播放音量值,所述音频数据为所述至少一个分段数据中的任一分段数据;
11.待机控制模块,用于若所述播放音量值小于或等于音量阈值,则控制音频驱动、硬件驱动和音频播放硬件进入待机状态,并丢弃所述音频数据。
12.第三方面,本技术实施例提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序适于由处理器加载并执行上述方法的步骤。
13.第四方面,本技术实施例提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的方法的步骤。
14.在本技术实施例中,通过获取音频数据的播放音量值,并基于播放音量值判断当前播放过程是否为静音播放,即播放音量值小于或等于音量阈值时,确定为静音播放,然后控制音频播放处理装置中的音频驱动、硬件驱动和音频播放硬件进入待机状态,使得音频
驱动、硬件驱动和音频播放硬件都停止工作,同时还通过丢弃音频数据,使得当前的播放进程也停止处理音频数据,从而避免无意义的工作进程所带来的电力消耗,降低了音频播放过程产生的功耗。
附图说明
15.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
16.图1为本技术实施例提供的一种音频播放处理装置的装置架构图;
17.图2为本技术实施例提供的一种音频播放处理方法的流程示意图;
18.图3为本技术实施例提供的一种音频播放处理方法的流程示意图;
19.图4为本技术实施例提供的一种音频播放处理方法的流程示意图;
20.图5为本技术实施例提供的一种音频播放处理方法的流程示意图;
21.图6为本技术实施例提供的一种音频播放处理方法的流程示意图;
22.图7为本技术实施例提供的一种音频播放处理装置的结构示意图;
23.图8为本技术实施例提供的一种音频播放处理装置的结构示意图;
24.图9是本技术实施例提供的一种计算机设备的结构示意图。
具体实施方式
25.为使得本技术的特征和优点能够更加的明显和易懂,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而非全部实施例。基于本技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
26.现有的应用程序,如视频播放软件、音频播放软件和游戏软件等,在运行时均会产生音频数据并播放。在音频播放处理装置处于静音播放模式时,音频播放设备虽然没有发出声音,但是相关软件和硬件都处于工作状态。而由于音频播放处理装置并未发出声音,则播放相关的软件和硬件对当前的音频数据所作的处理均是无意义的,为了实现该处理过程还产生了较大的功耗,导致音频播放处理装置在音频播放过程中产生的功耗较高。
27.为了更好的降低音频播放过程产生的功耗,请参见图1,为本说明书实施例提供的一种音频播放处理装置的装置架构图。
28.如图1所示,音频播放处理装置1的装置架构可以包括:音频播放软件10、音频处理组件20、音频驱动30、设备驱动40和音频播放硬件50。
29.音频播放处理装置1可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携式计算机和台式计算机等,在此不作具体限定。
30.音频播放软件10可以是各种视频播放软件、音频播放软件、游戏软件、购物软件和社交软件等,会产生用于播放的音频的软件。可选的,音频播放软件10设置在音频播放处理装置1的应用层中。
31.音频处理组件20用于对音频数据进行音频处理,并基于处理后的音频数据进行播
放控制的处理组件。可选的,音频处理组件20设置在音频播放处理装置1的native层中,通过提供一些本地服务和链接库来对音频数据进行音频处理和播放控制。
32.可选的,在音频处理组件20处于native层时,音频处理组件20中的所有控制代码均为统一代码格式的程序代码。在一定程度上,native层可以广义理解为系统层,系统层上实现的程序代码,在多种类型中的电子设备中均可以使用,并不会因为电子设备的类型的不同,而导致跨平台/跨设备使用时代码错误等问题。可以理解的是,不同的电子设备在硬件层的控制逻辑/控制代码有着电子设备对应的代码标准/代码格式,而系统层上的代码逻辑/代码格式的通用的统一格式。
33.音频驱动30是用于控制设备驱动40的驱动接口,可以理解的是,音频驱动30可以控制设备驱动40进行播放音频数据对应的硬件驱动工作。可选的,音频驱动30设置在音频播放处理装置1的硬件抽象层(hardware abstraction layer,hal层)中。
34.设备驱动40是用于驱动音频播放硬件50的硬件驱动,可以理解的是,设备驱动40可以驱动音频播放硬件50播放音频驱动30中的音频数据。可选的,设备驱动40设置在音频播放处理装置1的驱动层(kernel层)中。
35.音频播放硬件50是用于播放接收到的音频数据的播放硬件,可以是扬声器、耳机等播放硬件。可选的,音频播放硬件50设置在音频播放处理装置1的硬件层中。
36.音频播放软件10获取用于播放的音频,并将该音频传输至对应的音频处理组件20。音频处理组件20接收到音频播放软件10发送的音频后,对接收到的音频进行音频处理,包括但不限于音频分割、重采样处理、混音处理、音效处理等,得到多段存在播放顺序的音频数据,可以理解的是,一段音频由多段音频数据构成。然后基于处理后的音频数据进行播放控制,并对音频驱动30、设备驱动40和音频播放硬件50进行待机控制。
37.下面将结合图2-图7,对本技术实施例提供的音频播放处理方法进行详细介绍。
38.请参见图2,为本技术实施例提供了一种音频播放处理方法的流程示意图。如图2所示,所述方法可以包括以下步骤s101-步骤s103。
39.s101,响应于音频播放软件获取的目标音频,对所述目标音频进行分段处理,得到至少一个分段数据。
40.在一种实现方式中,音频播放软件可以是各种视频播放软件、音频播放软件、游戏软件、购物软件和社交软件等,会产生用于播放的目标音频的软件。目标音频是一段相对完整的音频,即当前缓冲完成的音频段,可以是几分钟的音频,也可以是十几分钟的音频,如一首歌曲、一段视频中的音频等等。
41.音频播放处理装置通过音频播放软件获取需要播放的目标音频,然后通过音频处理组件对目标音频进行分段处理,得到至少一段分段数据。
42.可选的,音频数据是对目标音频进行分段处理之前,还可以对目标音频进行音频处理,以得到满足播放要求的音频数据,需要说明的是,音频处理包括但不限于重采样处理、混音处理、音效处理等。播放音量值为音频播放处理装置在播放该音频数据时的播放音量。
43.示例性的,音频处理组件可以对目标音频进行重采样处理、混音处理、音效处理等,得到处理后的目标音频,然后对处理后的目标音频进行分段处理,得到至少一段满足播放要求的分段数据。
44.需要说明的是,音频播放处理装置在对目标音频进行分段处理的同时,还会基于目标音频得到各音频数据对应的音频信息,该音频信息包括但不限于帧数、采样率、播放音量值、帧位置信息。
45.s102,按照所述目标音频的播放顺序,在所述至少一个分段数据中获取音频数据,获取针对所述音频数据的播放音量值,所述音频数据为所述至少一个分段数据中的任一分段数据。
46.音频播放处理装置的音频处理组件按照目标音频的播放顺序,在至少一个分段数据中依次获取一个分段数据,并将当前获取到的分段数据作为音频数据,然后获取当前遍历到的音频数据的播放音量值。
47.s103,若所述播放音量值小于或等于音量阈值,则控制音频驱动、硬件驱动和音频播放硬件进入待机状态,并丢弃所述音频数据。
48.在一种实现方式中,音量阈值用于判断音频数据是否为静音播放,需要说明的是,该音量阈值并不限定为0。
49.音频播放处理装置比较音频数据的播放音量值与音量阈值,并在播放音量值小于或等于音量阈值时,判定该音频数据是静音播放的音频数据,然后控制音频驱动、硬件驱动和音频播放硬件进入待机状态,以使音频驱动、硬件驱动和音频播放硬件都停止工作,并丢弃音频数据,使得当前的播放进程也停止处理该音频数据。
50.在本技术实施例中,通过获取音频数据的播放音量值,并基于播放音量值判断当前播放过程是否为静音播放,即播放音量值小于或等于音量阈值时,确定为静音播放,然后控制音频播放处理装置中的音频驱动、硬件驱动和音频播放硬件进入待机状态,使得音频驱动、硬件驱动和音频播放硬件都停止工作,同时还通过丢弃音频数据,使得当前的播放进程也停止处理音频数据,从而避免无意义的工作进程所带来的电力消耗,降低了音频播放过程产生的功耗。
51.可以理解的是,为了提高音频数据的播放效果,下面将结合图3-图6,对不同音频数据情况的音频播放处理方法进行详细介绍。
52.请参见图3,为本技术实施例提供了一种音频播放处理方法的流程示意图。如图3所示,所述方法可以包括以下步骤s201-步骤s207。
53.s201,响应于音频播放软件获取的目标音频,对所述目标音频进行分段处理,得到至少一个分段数据。
54.在一种实现方式中,音频播放软件可以是各种视频播放软件、音频播放软件、游戏软件、购物软件和社交软件等,会产生用于播放的目标音频的软件。目标音频是一段相对完整的音频,即当前缓冲完成的音频段,可以是几分钟的音频,也可以是十几分钟的音频,如一首歌曲、一段视频中的音频等等。
55.音频播放处理装置通过音频播放软件获取需要播放的目标音频,然后通过音频处理组件对目标音频进行分段处理,得到至少一段分段数据。
56.可选的,音频数据是对目标音频进行分段处理之前,还可以对目标音频进行音频处理,以得到满足播放要求的音频数据,需要说明的是,音频处理包括但不限于重采样处理、混音处理、音效处理等。播放音量值为音频播放处理装置在播放该音频数据时的播放音量。
57.示例性的,音频处理组件可以对目标音频进行重采样处理、混音处理、音效处理等,得到处理后的目标音频,然后对处理后的目标音频进行分段处理,得到至少一段满足播放要求的分段数据。
58.需要说明的是,音频播放处理装置在对目标音频进行分段处理的同时,还会基于目标音频得到各音频数据对应的音频信息,该音频信息包括但不限于帧数、采样率、播放音量值、帧位置信息。
59.s202,按照所述目标音频的播放顺序,在所述至少一个分段数据中获取音频数据,获取针对所述音频数据的播放音量值,所述音频数据为所述至少一个分段数据中的任一分段数据。
60.音频播放处理装置的音频处理组件按照目标音频的播放顺序,在至少一个分段数据中依次获取一个分段数据,并将当前获取到的分段数据作为音频数据,然后获取当前遍历到的音频数据的播放音量值。
61.s203,若所述播放音量值小于或等于音量阈值,获取采用所述播放音量值的持续播放时长,所述持续播放时长指示对所述目标音频按照所述播放音量值持续进行音频播放的时长。
62.在一种实现方式中,音量阈值用于判断音频数据是否为静音播放,需要说明的是,该音量阈值并不限定为0。持续播放时长指示对目标音频按照播放音量值持续进行音频播放的时长,也可以说是指音频播放处理装置按照音频数据对应的播放音量值进行播放的持续时长。
63.音频播放处理装置比较音频数据的播放音量值与音量阈值,并在播放音量值小于或等于音量阈值时,获取音频播放处理装置按照该播放音量值进行播放的持续时长。
64.s204,若所述持续播放时长达到时长阈值,则控制音频驱动、硬件驱动和音频播放硬件进入待机状态,并丢弃所述音频数据。
65.在一种实现方式中,现有音频中可能会存在局部的静音数据,如播放音量值原本就设置为0的音频数据,在音频播放处理装置并未处于静音播放状态时,由于音频数据本身的音量值可能会导致误判,因此,本实现方式提供了一种基于时长阈值进行音频播放处理的实现过程。具体的,时长阈值是指音频播放处理装置需要对音频驱动、硬件驱动和音频播放硬件进行待机控制的控制条件之一,用于与音量阈值一起,判断音频数据是否为静音播放。
66.音频播放处理装置比较持续播放时长与时长阈值,并在持续播放时长大于或等于时长阈值时,判定该音频数据是静音播放的音频数据,然后控制音频驱动、硬件驱动和音频播放硬件进入待机状态,以使音频驱动、硬件驱动和音频播放硬件都停止工作,并丢弃音频数据,使得当前的播放进程也停止处理该音频数据。
67.通过音频数据的播放音量值和以该播放音量值进行播放的持续时长,共同判断音频数据是否为静音播放,进一步根据判断结果对音频驱动、硬件驱动和音频播放硬件进行待机控制,避免由于音频数据本身的音量设置或误触等造成短暂的静音播放时,会频繁开启和关闭音频驱动、硬件驱动和音频播放硬件的情况,避免了由于频繁开启和关闭所造成的装置损坏以及资源消耗的情况,提高了音频播放处理装置的使用寿命,降低了音频播放处理装置的功耗。
68.可选的,由于此前可能已经关闭音频驱动、设备驱动和音频播放硬件,则所述若所述持续播放时长达到时长阈值,则控制音频驱动、硬件驱动和音频播放硬件进入待机状态,并丢弃所述音频数据,可以包括以下步骤:
69.若所述持续播放时长达到时长阈值,则获取所述音频驱动的运行状态;
70.若所述音频驱动的运行状态为工作状态,则调用关闭接口控制所述音频驱动、硬件驱动和音频播放硬件进入待机状态,并丢弃所述音频数据。
71.运行状态包括工作状态和待机状态,可以理解的是,在音频驱动仍在工作状态时,基于音频驱动所控制的硬件驱动和音频播放也可能同样处于工作状态;对应的,在音频驱动处于待机状态时,基于音频驱动所控制的硬件驱动和音频播放必定同样处于待机状态。关闭接口是音频播放处理装置中的控制接口,该关闭接口可以是音频驱动中的等待(standby)接口。
72.音频播放处理装置在获取到持续播放时长之后,比较持续播放时长与时长阈值,并在持续播放时长大于或等于时长阈值时,获取音频驱动的运行状态,示例性的,可以通过音频播放处理装置中的查看等待状态(shouldstandby)方法查看音频驱动的运行状态,然后基于查看结果确定音频驱动的运行状态。进一步的,在音频驱动为工作状态时,调用音频驱动中的关闭接口,以关闭音频播放处理装置中的音频驱动、设备驱动和音频播放硬件,使得音频驱动、设备驱动和音频播放硬件均进入待机状态。然后丢弃当前得到的音频数据,使得当前的播放进程也停止处理该音频数据,从而进入待机状态。示例性的,音频播放处理装置在获取到音频数据之后,会将得到的音频数据存储在缓冲区中,则通过重置缓冲区可以达到将当前得到的音频数据丢弃的目的。
73.通过先确定音频驱动的运行状态,避免了在音频驱动已经处于待机状态时,重复执行关闭音频驱动、设备驱动和音频播放硬件的过程,避免了控制出错的情况以及无意义的控制损耗,降低了音频播放处理过程产生的功耗。
74.s205,获取所述音频数据在所述目标音频中的目标时间戳,所述目标时间戳用于指示所述目标音频的播放进度。
75.在一种实现方式中,目标时间戳包括音频数据在目标音频中的当前位置信息以及当前时间信息,当前位置信息指示音频数据的最后一帧音频帧在目标音频对应的语音帧序列中的帧位置信息,当前时间信息指示音频数据的最后一帧音频帧在目标音频的音频时长中的时间位置,可以理解的是,播放完音频数据的最后一帧音频帧时的时刻,在目标音频的音频时长中的具体位置。目标时间戳用于指示目标音频的播放进度。示例性的,若目标音频为一段时长为1min(60s)的音频,且目标音频是一段包括了30帧音频帧的音频帧序列,在音频数据对应的帧位置信息为15,音频数据对应的时间信息为30s时,基于音频数据在目标音频中的当前位置信息和当前时间信息所得到的目标时间戳可以是(15,30s),需要说明的是,前述均为了举例说明时间戳的相关信息,并不限定时间戳的格式和获取方式仅为前述举例过程。
76.可选的,音频播放处理装置可以通过获取当前播放的音频数据的帧数和采样率,计算出播放完该音频数据所需要播放时长,然后基于播放时长以及历史时间戳中的历史时间信息推测出目标时间戳的当前时间信息。
77.通过更新目标音频对应的目标时间戳,避免由于时间戳上的位置信息或时间信息
未更新所造成的卡顿、重复播放、音画不同步等播放问题,使得音频播放处理装置能够正常播放目标音频或目标音频对应的视频。
78.示例性的,本实现方式给出了一种目标时间戳的获取方式,所述获取所述音频数据在所述目标音频中的目标时间戳,可以包括以下步骤:
79.获取所述目标音频对应的历史时间戳,所述历史时间戳为针对所述目标音频中与所述音频数据相邻的上一段音频数据生成的时间戳,所述历史时间戳包括所述目标音频中的历史位置信息以及历史时间信息;
80.获取所述音频数据对应的帧数以及采样率;
81.基于所述历史位置信息和所述帧数确定目标音频对应的当前位置信息,所述当前位置信息指示所述音频数据的最后一帧音频帧在所述目标音频中的帧位置信息;
82.基于所述历史时间信息、所述帧数和所述采样率确定所述目标音频对应的当前时间信息,所述当前时间信息指示所述音频数据的最后一帧音频帧在所述目标音频的音频时长中的时间位置;
83.基于所述当前位置信息和所述当前时间信息生成所述目标音频对应的目标时间戳。。
84.历史时间戳为针对目标音频中与音频数据相邻的上一段音频数据生成的时间戳,历史时间戳包括目标音频中的历史位置信息以及历史时间信息。具体来说,由于在对目标音频进行分段处理时,会得到至少一段分段数据,则与音频数据相邻的上一段音频数据是指上一次音频播放处理过程中的音频数据。
85.音频播放处理装置先获取目标音频对应的历史时间戳,然后基于当前处理过程中的音频数据的音频信息获取音频数据对应的帧数和采样率,再将历史时间戳中的历史位置信息和音频数据对应的帧数相加,得到目标音频对应的当前位置信息,并将音频数据对应的帧数和采样率相除,得到音频数据对应的播放时长,然后将音频数据对应的播放时长与历史时间戳中的历史时间信息相加得到目标音频对应的当前时间信息。最后基于目标音频对应的当前位置信息和当前时间信息,生成目标音频对应的目标时间戳。
86.示例性的,当前位置信息和当前时间信息的获取方式如以下公式所示:
87.p2=p 1 f;
[0088][0089]
其中,p2为当前位置信息,p1为历史位置信息,f为音频数据对应的帧数,t2为当前时间信息,t1为历史时间信息,s为音频数据对应的采样率。进一步的,目标时间戳可以表示为(p2,t2)。
[0090]
需要说明的是,音频播放处理装置在对当前的音频数据进行播放处理结束后,需要将目标音频对应的目标时间戳保存为新目标音频对应的历史时间戳,以在下一次循环处理过程中能够得到准确的目标音频对应的目标时间戳。
[0091]
通过获取音频数据对应的帧数和采样率,在得到音频数据时,可以直接计算得到目标音频对应的目标时间戳,无需等待音频数据播放结束才可以计算得到新的目标时间戳,避免了由于音频数据并未播放的情况下(即音频数据已被丢弃),无法基于音频数据的播放结束时间计算得到目标时间戳的情况,从而保证音频播放处理装置能够获取到目标时
间戳,进而能够更新目标音频对应的目标时间戳,使得音频播放处理装置能够正常播放目标音频或目标音频对应的视频。
[0092]
进一步的,本实现方式还给出了一种音频播放状态的确定方式,所述基于所述目标时间戳确定所述目标音频的播放状态之前,还包括:
[0093]
基于所述帧数和所述采样率确定所述音频数据的播放时长;
[0094]
基于所述音频数据在开始播放时的第一系统时间和所述播放时长,确定所述音频数据的在播放结束时的第二系统时间;
[0095]
若当前系统时间达到所述第二系统时间,则执行所述基于所述目标时间戳确定所述目标音频的播放状态。
[0096]
音频处理装置会获取音频数据对应的帧数和采样率,然后将帧数除以采样率,得到音频数据的播放时长;然后获取音频数据在开始播放时的第一系统时间,然后将第一系统时间与播放时长相加,得到音频数据在播放结束时的第二系统时间,然后再持续监测音频播放处理装置的当前系统时间,在当前系统时间达到第二系统时间时,判定音频数据播放结束,然后基于目标时间戳确定目标音频的播放状态,以在目标音频未播放结束时,获取下一段音频数据进行音频播放处理。
[0097]
可选的,针对于音频数据被丢弃的情况,音频数据的在开始播放时的第一系统时间可以获取到该音频数据时的系统时间,或者是判定丢弃音频数据的系统时间,具体来说,在音频处理过程中,由于在对目标音频进行分段处理得到的分段数据是10-40ms的音频数据,音频处理装置获取音频数据,并确定是否丢弃音频数据的过程耗时极短,则直接将前述时间作为音频数据的在开始播放时的第一系统时间并不会对音频播放处理过程造成影响。
[0098]
可选的,音频播放处理装置还可以基于音频数据对应的播放结束时间,即第二系统时间,确定播放进程的结束待机时间。可以理解的是,音频处理组件丢弃音频数据之后,便停止工作,进入待机状态,然后在系统时间达到结束待机时间时,唤醒播放进程,以通过该播放进程执行后续的音频播放处理工作。
[0099]
可选的,音频播放处理装置在音频数据未被丢弃,即对音频数据模拟播放的情况下,可以在音频数据模拟播放结束时,直接判定音频数据的播放状态为播放结束。
[0100]
通过确定音频数据的播放状态,以在音频数据播放结束时,继续确定目标音频的播放状态,从而在目标音频并未播放结束,但音频数据播放结束时,及时获取新的音频数据进行处理,避免了目标音频突然恢复正常播放的情况剩下,由于无法及时补充音频数据而造成的卡顿、出现杂音等情况,优化了音频播放处理装置的音频播放效果。
[0101]
示例性的,本实现方式给出了一种目标时间戳的获取方式,所述获取所述音频数据在所述目标音频中的目标时间戳,可以包括以下步骤:
[0102]
获取所述目标音频对应的历史时间戳,所述历史时间戳为针对所述目标音频中与所述音频数据相邻的上一段音频数据生成的时间戳,所述历史时间戳包括所述目标音频中的历史位置信息以及历史时间信息;
[0103]
获取所述音频数据对应的帧数,并基于所述历史位置信息和所述帧数确定目标音频对应的当前位置信息,所述当前位置信息指示所述音频数据的最后一帧音频帧在所述目标音频中的帧位置信息;
[0104]
若所述音频数据播放结束,则基于所述音频数据在开始播放时的第三系统时间和
所述音频数据在播放结束时的第四系统时间获取时间增量,并基于所述时间增量和所述历史时间信息确定所述目标音频对应的当前时间信息,所述当前时间信息指示所述音频数据的最后一帧音频帧在所述目标音频的音频时长中的时间位置;
[0105]
基于所述当前位置信息和所述当前时间信息生成所述目标音频对应的目标时间戳。
[0106]
历史时间戳为针对目标音频中与音频数据相邻的上一段音频数据生成的时间戳,历史时间戳包括目标音频中的历史位置信息以及历史时间信息。具体来说,由于在对目标音频进行分段处理时,会得到至少一段分段数据,则与音频数据相邻的上一段音频数据是指上一次音频播放处理过程中的音频数据。
[0107]
音频播放处理装置先获取目标音频对应的历史时间戳,然后基于当前处理过程中的音频数据的音频信息获取音频数据对应的帧数,再将历史时间戳中的历史位置信息和音频数据对应的帧数相加,得到目标音频对应的当前位置信息。
[0108]
音频处理装置在获取到音频数据时,对音频数据执行播放操作,然后获取音频数据在开始播放时的第三系统时间,并在监测到音频数据播放结束时,获取音频数据在播放结束时的第四系统时间,然后将第四系统时间去第三系统时间,得到指示音频数据的播放时长的时间增量,再将历史时间信息与时间增量相加,得到当前时间信息。最后将当前位置信息和当前时间信息作为目标时间戳。可以理解的是,第三系统时间和第四系统时间均为系统时间,且系统时间的指音频处理装置上的系统时间,可以基于音频处理装置的时钟组件得到。
[0109]
通过播放音频数据,然后根据音频数据的播放起止时间计算得到目标时间戳中的当前时间信息,从而根据播放情况得到更为准确的时间信息,进而能够更新目标音频对应的目标时间戳,使得音频播放处理装置能够正常播放目标音频或目标音频对应的视频。
[0110]
进一步的,本实现方式还给出了一种音频驱动为工作状态的当前时间信息的获取方式,所述若所述音频数据播放结束,则基于所述音频数据在开始播放时的第三系统时间和所述音频数据在播放结束时的第四系统时间获取时间增量,并基于所述时间增量和所述历史时间信息确定所述目标音频对应的当前时间信息,可以包括以下步骤:
[0111]
若所述音频驱动为待机状态,则模拟播放所述音频数据,在所述音频数据模拟播放结束时,基于模拟播放起始时的第三系统时间和模拟播放结束时的第四系统时间获取第一时间增量,并基于所述第一时间增量和所述历史时间信息确定所述目标音频对应的当前时间信息;
[0112]
音频处理装置先确定音频驱动的运行状态,并在音频驱动处于待机状态时,通过音频处理组件模拟播放该音频数据,并在音频处理组件开始模拟播放时获取第三系统时间,然后在音频数据模拟播放结束时获取第四系统时间,然后再将第四系统时间减去第三系统时间,得到第一时间增量,即音频数据的模拟播放时长,最后再将第一时间增量和历史时间戳中的历史时间信息相加,得到目标音频对应的当前时间信息。可以理解的是,第三系统时间和第四系统时间均为系统时间,且系统时间的指音频处理装置上的系统时间,可以基于音频处理装置的时钟组件得到。
[0113]
示例性的,当前位置信息和当前时间信息的获取方式如以下公式所示:
[0114]
p2=p 1 f;
[0115]
t2=t1 (d2-d1);
[0116]
其中,p2为当前位置信息,p1为历史位置信息,f为音频数据对应的帧数,t2为当前时间信息,t2为历史时间信息,d2为模拟播放结束时间,d1为模拟播放起始时间。进一步的,目标时间戳可以表示为(p2,t2)。
[0117]
需要说明的是,在当前的实现方式中,音频播放处理装置在确定持续播放时长达到时长阈值时,仅先控制音频驱动、硬件驱动和音频播放硬件进入待机状态,并不丢弃音频数据,然后对音频数据进行模拟播放,并在模拟播放结束时,才会丢弃该音频数据。
[0118]
通过模拟播放音频数据,在由于音频数据并未实际播放的情况下,能够根据模拟播放的起止时间计算得到目标时间戳中的当前时间信息,从而保证音频播放处理装置能够获取到目标时间戳,进而能够更新目标音频对应的目标时间戳,使得音频播放处理装置能够正常播放目标音频或目标音频对应的视频。
[0119]
s206,基于所述目标时间戳确定所述目标音频的播放状态。
[0120]
在一种实现方式中,音频数据的播放状态包括正在播放状态和播放结束状态,其中,正在播放状态指示音频数据并未播放结束,播放结束状态指示音频数据播放结束。
[0121]
音频播放处理装置在音频数据的播放状态为播放结束时,基于目标时间戳中的当前位置信息,确定目标音频的播放状态。
[0122]
s207,若所述目标音频的播放状态为未播放结束,则执行所述按照所述目标音频的播放顺序,在所述至少一个分段数据中获取音频数据,获取针对所述音频数据的播放音量值。
[0123]
在一种实现方式中,目标音频的播放状态包括正在播放状态和播放结束状态,其中,正在播放状态指示目标音频并未播放结束,播放结束状态指示目标音频播放结束。
[0124]
音频播放处理装置在目标音频的播放状态为未播放结束时,获取与当前的音频数据相邻的下一段音频数据,然后执行前述的音频播放处理过程;还在目标音频的播放状态为播放结束时,结束对目标音频的音频播放处理。
[0125]
通过确定目标音频的播放状态,从而在目标音频并未播放结束时,及时获取新的音频数据进行处理,避免了目标音频突然恢复正常播放的情况剩下,由于无法及时补充音频数据而造成的卡顿、出现杂音等情况,优化了音频播放处理装置的音频播放效果。
[0126]
请参见图4,为本技术实施例提供了一种音频播放处理方法的流程示意图。如图4所示,所述方法可以包括以下步骤s301-步骤s307。
[0127]
s301,响应于音频播放软件获取的目标音频,对所述目标音频进行分段处理,得到至少一个分段数据。
[0128]
在一种实现方式中,音频播放软件可以是各种视频播放软件、音频播放软件、游戏软件、购物软件和社交软件等,会产生用于播放的目标音频的软件。目标音频是一段相对完整的音频,即当前缓冲完成的音频段,可以是几分钟的音频,也可以是十几分钟的音频,如一首歌曲、一段视频中的音频等等。
[0129]
音频播放处理装置通过音频播放软件获取需要播放的目标音频,然后通过音频处理组件对目标音频进行分段处理,得到至少一段分段数据。
[0130]
可选的,音频数据是对目标音频进行分段处理之前,还可以对目标音频进行音频处理,以得到满足播放要求的音频数据,需要说明的是,音频处理包括但不限于重采样处
理、混音处理、音效处理等。播放音量值为音频播放处理装置在播放该音频数据时的播放音量。
[0131]
示例性的,音频处理组件可以对目标音频进行重采样处理、混音处理、音效处理等,得到处理后的目标音频,然后对处理后的目标音频进行分段处理,得到至少一段满足播放要求的分段数据。
[0132]
需要说明的是,音频播放处理装置在对目标音频进行分段处理的同时,还会基于目标音频得到各音频数据对应的音频信息,该音频信息包括但不限于帧数、采样率、播放音量值、帧位置信息。
[0133]
s302,按照所述目标音频的播放顺序,在所述至少一个分段数据中获取音频数据,获取针对所述音频数据的播放音量值,所述音频数据为所述至少一个分段数据中的任一分段数据。
[0134]
音频播放处理装置的音频处理组件按照目标音频的播放顺序,在至少一个分段数据中依次获取一个分段数据,并将当前获取到的分段数据作为音频数据,然后获取当前遍历到的音频数据的播放音量值。
[0135]
s303,若所述播放音量值小于或等于音量阈值,获取采用所述播放音量值的持续播放时长,所述持续播放时长指示对所述目标音频按照所述播放音量值持续进行音频播放的时长。
[0136]
在一种实现方式中,音量阈值用于判断音频数据是否为静音播放,需要说明的是,该音量阈值并不限定为0。持续播放时长指示对目标音频按照播放音量值持续进行音频播放的时长,也可以说是指音频播放处理装置按照音频数据对应的播放音量值进行播放的持续时长。
[0137]
音频播放处理装置比较音频数据的播放音量值与音量阈值,并在播放音量值小于或等于音量阈值时,获取音频播放处理装置按照该播放音量值进行播放的持续时长。
[0138]
s304,若所述持续播放时长未达到时长阈值,则向所述音频驱动写入所述音频数据,以通过所述音频驱动控制所述硬件驱动和所述音频播放硬件播放所述音频数据。
[0139]
在一种实现方式中,现有音频中可能会存在局部的静音数据,如播放音量值原本就设置为0的音频数据,在音频播放处理装置并未处于静音播放状态时,由于音频数据本身的音量值可能会导致误判,因此,本实现方式提供了一种基于时长阈值进行音频播放处理的实现过程。具体的,时长阈值是指音频播放处理装置需要对音频驱动、硬件驱动和音频播放硬件进行待机控制的控制条件之一,用于与音量阈值一起,判断音频数据是否为静音播放。
[0140]
音频播放处理装置比较持续播放时长与时长阈值,并在持续播放时长小于于时长阈值时,判定该音频数据不是静音播放的音频数据,然后向音频驱动写入音频数据,使得播放进程开始播放该音频数据。可以理解的是,音频驱动在接收到新的音频数据后,基于该音频数据对硬件驱动进行播放控制,最后再基于硬件驱动驱动音频播放硬件对音频数据进行播放。
[0141]
需要强调的是,音频播放处理装置虽然仍然播放了播放音量值小于或等于音量阈值的音频数据,但是音频播放处理装置是对该音频数据进行静音播放,即音频播放处理装置中的各组件均处于工作状态,但音频数据的播放音量值是小于或等于音量阈值的。
[0142]
通过音频数据的播放音量值和以该播放音量值进行播放的持续时长,共同判断音频数据是否为静音播放,进一步根据判断结果对音频驱动、硬件驱动和音频播放硬件进行待机控制,避免由于音频数据本身的音量设置或误触等造成短暂的静音播放时,会频繁开启和关闭音频驱动、硬件驱动和音频播放硬件的情况,避免了由于频繁开启和关闭所造成的装置损坏以及资源消耗的情况,提高了音频播放处理装置的使用寿命,降低了音频播放处理装置的功耗。
[0143]
s305,获取所述音频数据在所述目标音频中的目标时间戳,所述目标时间戳用于指示所述目标音频的播放进度。
[0144]
在一种实现方式中,目标时间戳包括音频数据在目标音频中的当前位置信息以及当前时间信息,当前位置信息指示音频数据的最后一帧音频帧在目标音频对应的语音帧序列中的帧位置信息,当前时间信息指示音频数据的最后一帧音频帧在目标音频的音频时长中的时间位置,可以理解的是,播放完音频数据的最后一帧音频帧时的时刻,在目标音频的音频时长中的具体位置。目标时间戳用于指示目标音频的播放进度。示例性的,若目标音频为一段时长为1min(60s)的音频,且目标音频是一段包括了30帧音频帧的音频帧序列,在音频数据对应的帧位置信息为15,音频数据对应的时间信息为30s时,基于音频数据在目标音频中的当前位置信息和当前时间信息所得到的目标时间戳可以是(15,30s),需要说明的是,前述均为了举例说明时间戳的相关信息,并不限定时间戳的格式和获取方式仅为前述举例过程。
[0145]
可选的,音频播放处理装置可以通过获取当前播放的音频数据的帧数和采样率,计算出播放完该音频数据所需要播放时长,然后基于播放时长以及历史时间戳中的历史时间信息推测出目标时间戳的当前时间信息。
[0146]
通过更新目标音频对应的目标时间戳,避免由于时间戳上的位置信息或时间信息未更新所造成的卡顿、重复播放、音画不同步等播放问题,使得音频播放处理装置能够正常播放目标音频或目标音频对应的视频。
[0147]
示例性的,本实现方式给出了一种目标时间戳的获取方式,所述获取所述音频数据在所述目标音频中的目标时间戳,可以包括以下步骤:
[0148]
获取所述目标音频对应的历史时间戳,所述历史时间戳为针对所述目标音频中与所述音频数据相邻的上一段音频数据生成的时间戳,所述历史时间戳包括所述目标音频中的历史位置信息以及历史时间信息;
[0149]
获取所述音频数据对应的帧数以及采样率;
[0150]
基于所述历史位置信息和所述帧数确定目标音频对应的当前位置信息,所述当前位置信息指示所述音频数据的最后一帧音频帧在所述目标音频中的帧位置信息;
[0151]
基于所述历史时间信息、所述帧数和所述采样率确定所述目标音频对应的当前时间信息,所述当前时间信息指示所述音频数据的最后一帧音频帧在所述目标音频的音频时长中的时间位置;
[0152]
基于所述当前位置信息和所述当前时间信息生成所述目标音频对应的目标时间戳。
[0153]
历史时间戳为针对目标音频中与音频数据相邻的上一段音频数据生成的时间戳,历史时间戳包括目标音频中的历史位置信息以及历史时间信息。具体来说,由于在对目标
音频进行分段处理时,会得到至少一段分段数据,则与音频数据相邻的上一段音频数据是指上一次音频播放处理过程中的音频数据。
[0154]
音频播放处理装置先获取目标音频对应的历史时间戳,然后基于当前处理过程中的音频数据的音频信息获取音频数据对应的帧数和采样率,再将历史时间戳中的历史位置信息和音频数据对应的帧数相加,得到目标音频对应的当前位置信息,并将音频数据对应的帧数和采样率相除,得到音频数据对应的播放时长,然后将音频数据对应的播放时长与历史时间戳中的历史时间信息相加得到目标音频对应的当前时间信息。最后基于目标音频对应的当前位置信息和当前时间信息,生成目标音频对应的目标时间戳。
[0155]
示例性的,当前位置信息和当前时间信息的获取方式如以下公式所示:
[0156]
p2=p 1 f;
[0157][0158]
其中,p2为当前位置信息,p1为历史位置信息,f为音频数据对应的帧数,t2为当前时间信息,t2为历史时间信息,s为音频数据对应的采样率。进一步的,目标时间戳可以表示为(p2,t2)。
[0159]
需要说明的是,音频播放处理装置在对当前的音频数据进行播放处理结束后,需要将目标音频对应的目标时间戳保存为新目标音频对应的历史时间戳,以在下一次循环处理过程中能够得到准确的目标音频对应的目标时间戳。
[0160]
通过获取音频数据对应的帧数和采样率,在得到音频数据时,可以直接计算得到目标音频对应的目标时间戳,无需等待音频数据播放结束才可以计算得到新的目标时间戳,提高目标时间戳的获取效率。
[0161]
示例性的,本实现方式给出了一种目标时间戳的获取方式,所述获取所述音频数据在所述目标音频中的目标时间戳,可以包括以下步骤:
[0162]
获取所述目标音频对应的历史时间戳,所述历史时间戳为针对所述目标音频中与所述音频数据相邻的上一段音频数据生成的时间戳,所述历史时间戳包括所述目标音频中的历史位置信息以及历史时间信息;
[0163]
获取所述音频数据对应的帧数,并基于所述历史位置信息和所述帧数确定目标音频对应的当前位置信息,所述当前位置信息指示所述音频数据的最后一帧音频帧在所述目标音频中的帧位置信息;
[0164]
若所述音频数据播放结束,则基于所述音频数据在开始播放时的第三系统时间和所述音频数据在播放结束时的第四系统时间获取时间增量,并基于所述时间增量和所述历史时间信息确定所述目标音频对应的当前时间信息,所述当前时间信息指示所述音频数据的最后一帧音频帧在所述目标音频的音频时长中的时间位置;
[0165]
基于所述当前位置信息和所述当前时间信息生成所述目标音频对应的目标时间戳。
[0166]
历史时间戳为针对目标音频中与音频数据相邻的上一段音频数据生成的时间戳,历史时间戳包括目标音频中的历史位置信息以及历史时间信息。具体来说,由于在对目标音频进行分段处理时,会得到至少一段分段数据,则与音频数据相邻的上一段音频数据是指上一次音频播放处理过程中的音频数据。
[0167]
音频播放处理装置先获取目标音频对应的历史时间戳,然后基于当前处理过程中的音频数据的音频信息获取音频数据对应的帧数,再将历史时间戳中的历史位置信息和音频数据对应的帧数相加,得到目标音频对应的当前位置信息。
[0168]
音频处理装置在获取到音频数据时,对音频数据执行播放操作,然后获取音频数据在开始播放时的第三系统时间,并在监测到音频数据播放结束时,获取音频数据在播放结束时的第四系统时间,然后将第四系统时间去第三系统时间,得到指示音频数据的播放时长的时间增量,再将历史时间信息与时间增量相加,得到当前时间信息。最后将当前位置信息和当前时间信息作为目标时间戳。可以理解的是,第三系统时间和第四系统时间均为系统时间,且系统时间的指音频处理装置上的系统时间,可以基于音频处理装置的时钟组件得到。
[0169]
通过播放音频数据,然后根据音频数据的播放起止时间计算得到目标时间戳中的当前时间信息,从而根据播放情况得到更为准确的时间信息,进而能够更新目标音频对应的目标时间戳,使得音频播放处理装置能够正常播放目标音频或目标音频对应的视频。
[0170]
进一步的,本实现方式给出了一种音频驱动为工作状态的当前时间信息的获取方式,所述基于所述音频数据在所述目标音频中的当前位置信息和当前时间信息生成所述目标音频对应的目标时间戳,可以包括以下步骤:
[0171]
若所述音频驱动为工作状态,则在所述音频数据实际播放结束时,基于实际播放起始时的第三系统时间和实际播放结束时的第四系统时间获取第二时间增量,并基于所述第二时间增量和所述历史时间信息确定所述目标音频对应的当前时间信息。
[0172]
音频处理装置先确定音频驱动的运行状态,并在音频驱动处于工作状态时,通过音频处理组件、音频驱动、设备驱动和音频播放硬件播放该音频数据,并在音频处理组件开始实际播放时获取第三系统时间,然后在音频数据实际播放结束时获取第四系统时间,然后再将第四系统时间减去第三系统时间,得到第二时间增量,即音频数据的实际播放时长,最后再将第二时间增量和历史时间戳中的历史时间信息相加,得到目标音频对应的当前时间信息。
[0173]
示例性的,当前位置信息和当前时间信息的获取方式如以下公式所示:
[0174]
p2=p 1 f;
[0175]
t2=t1 (d4-d3);
[0176]
其中,p2为当前位置信息,p1为历史位置信息,f为音频数据对应的帧数,t2为当前时间信息,t2为历史时间信息,d4为系统时间(即实际播放结束时间),d3为实际播放起始时间。进一步的,目标时间戳可以表示为(p2,t2)。
[0177]
通过获取音频数据实际播放时长,从而根据实际播放时长直接更新目标时间戳,无需繁杂的目标时间戳计算步骤,提高目标时间戳的获取效率。
[0178]
s306,基于所述目标时间戳确定所述目标音频的播放状态。
[0179]
在一种实现方式中,音频播放处理装置在音频数据播放结束时,基于目标时间戳中的当前位置信息,确定目标音频的播放状态。
[0180]
s307,若所述目标音频的播放状态为未播放结束,则执行所述按照所述目标音频的播放顺序,在所述至少一个分段数据中获取音频数据,获取针对所述音频数据的播放音量值。
[0181]
在一种实现方式中,目标音频的播放状态包括正在播放状态和播放结束状态,其中,正在播放状态指示目标音频并未播放结束,播放结束状态指示目标音频播放结束。
[0182]
音频播放处理装置在目标音频的播放状态为未播放结束时,获取与当前的音频数据相邻的下一段音频数据,然后执行前述的音频播放处理过程;还在目标音频的播放状态为播放结束时,结束对目标音频的音频播放处理。
[0183]
通过确定音频数据的播放状态,以在音频数据播放结束时,继续确定目标音频的播放状态,从而在目标音频并未播放结束,但音频数据播放结束时,及时获取新的音频数据进行处理,避免了目标音频突然恢复正常播放的情况剩下,由于无法及时补充音频数据而造成的卡顿、出现杂音等情况,优化了音频播放处理装置的音频播放效果。
[0184]
请参见图5,为本技术实施例提供了一种音频播放处理方法的流程示意图。如图5所示,所述方法可以包括以下步骤s401-步骤s406。
[0185]
s401,响应于音频播放软件获取的目标音频,对所述目标音频进行分段处理,得到至少一个分段数据。
[0186]
在一种实现方式中,音频播放软件可以是各种视频播放软件、音频播放软件、游戏软件、购物软件和社交软件等,会产生用于播放的目标音频的软件。目标音频是一段相对完整的音频,即当前缓冲完成的音频段,可以是几分钟的音频,也可以是十几分钟的音频,如一首歌曲、一段视频中的音频等等。
[0187]
音频播放处理装置通过音频播放软件获取需要播放的目标音频,然后通过音频处理组件对目标音频进行分段处理,得到至少一段分段数据。
[0188]
可选的,音频数据是对目标音频进行分段处理之前,还可以对目标音频进行音频处理,以得到满足播放要求的音频数据,需要说明的是,音频处理包括但不限于重采样处理、混音处理、音效处理等。播放音量值为音频播放处理装置在播放该音频数据时的播放音量。
[0189]
示例性的,音频处理组件可以对目标音频进行重采样处理、混音处理、音效处理等,得到处理后的目标音频,然后对处理后的目标音频进行分段处理,得到至少一段满足播放要求的分段数据。
[0190]
需要说明的是,音频播放处理装置在对目标音频进行分段处理的同时,还会基于目标音频得到各音频数据对应的音频信息,该音频信息包括但不限于帧数、采样率、播放音量值、帧位置信息。
[0191]
s402,按照所述目标音频的播放顺序,在所述至少一个分段数据中获取音频数据,获取针对所述音频数据的播放音量值,所述音频数据为所述至少一个分段数据中的任一分段数据。
[0192]
音频播放处理装置的音频处理组件按照目标音频的播放顺序,在至少一个分段数据中依次获取一个分段数据,并将当前获取到的分段数据作为音频数据,然后获取当前遍历到的音频数据的播放音量值。
[0193]
s403,若所述播放音量值大于音量阈值,则向所述音频驱动写入所述音频数据,以通过所述音频驱动控制所述硬件驱动和所述音频播放硬件播放所述音频数据。
[0194]
在一种实现方式中,音量阈值用于判断音频数据是否为静音播放,需要说明的是,该音量阈值并不限定为0。
[0195]
音频播放处理装置比较音频数据的播放音量值与音量阈值,并在播放音量值大于音量阈值时,判定该音频数据不是静音播放的音频数据,然后向音频驱动写入音频数据,使得播放进程开始播放该音频数据。可以理解的是,音频驱动在接收到新的音频数据后,基于该音频数据对硬件驱动进行播放控制,最后再基于硬件驱动驱动音频播放硬件对音频数据进行播放。
[0196]
通过向音频驱动写入音频数据,在音频数据的播放音量值大于音量阈值时,能够将音频数据正常播放出来,使得音频播放处理装置能够满足用于对目标音频的播放需求。
[0197]
s404,获取所述音频数据在所述目标音频中的目标时间戳,所述目标时间戳用于指示所述目标音频的播放进度。
[0198]
具体可参见步骤s305,在此不再赘述
[0199]
s405,基于所述目标时间戳确定所述目标音频的播放状态。
[0200]
在一种实现方式中,音频播放处理装置在音频数据播放结束时,基于目标时间戳中的当前位置信息,确定目标音频的播放状态。
[0201]
s406,若所述目标音频的播放状态为未播放结束,则执行所述按照所述目标音频的播放顺序,在所述至少一个分段数据中获取音频数据,获取针对所述音频数据的播放音量值。
[0202]
在一种实现方式中,目标音频的播放状态包括正在播放状态和播放结束状态,其中,正在播放状态指示目标音频并未播放结束,播放结束状态指示目标音频播放结束。
[0203]
音频播放处理装置在目标音频的播放状态为未播放结束时,获取与当前的音频数据相邻的下一段音频数据,然后执行前述的音频播放处理过程;还在目标音频的播放状态为播放结束时,结束对目标音频的音频播放处理。
[0204]
通过确定音频数据的播放状态,以在音频数据播放结束时,继续确定目标音频的播放状态,从而在目标音频并未播放结束,但音频数据播放结束时,及时获取新的音频数据进行处理,避免了目标音频突然恢复正常播放的情况剩下,由于无法及时补充音频数据而造成的卡顿、出现杂音等情况,优化了音频播放处理装置的音频播放效果。
[0205]
请参见图6,为本技术实施例提供了一种音频播放处理方法的流程示意图。如图6所示,所述方法可以包括以下步骤s1-步骤s10。
[0206]
s1,获取目标音频。
[0207]
音频播放处理装置获取音频播放软件产生的目标音频,然后对目标音频进行音频处理,得到多段具有播放顺序的音频数据,执行s2。
[0208]
s2,获取音频数据。
[0209]
音频播放处理装置按照播放顺序,依次在目标音频对应的多段音频数据中获取一段音频数据,执行s3。
[0210]
s3,获取音频数据的播放音量值。
[0211]
音频播放处理装置基于音频数据对应的音频信息,获取音频数据的播放音量值,执行s4。
[0212]
s4,比较播放音量值与音量阈值。
[0213]
音频播放处理装置比较播放音量值与音量阈值,在播放音量值大于音量阈值时执行s8,并在播放音量值小于或等于音量阈值时执行s5。
[0214]
s5,获取持续播放时长。
[0215]
音频播放处理装置获取音频播放处理装置按照音频数据的播放音量值,进行播放的持续播放时长,执行s6。
[0216]
s6,比较持续播放时长与时长阈值。
[0217]
音频播放处理装置比较持续播放时长与时长阈值,在持续播放时长大于或等于时长阈值时执行s7,并在持续播放时长小于时长阈值时执行s8。
[0218]
s7,待机控制。
[0219]
音频播放处理装置控制音频播放处理装置中的音频驱动、硬件驱动和音频播放硬件进入待机状态,并丢弃音频数据。同时还根据音频数据对播放进程进行休眠处理,具体来说是根据音频数据获取音频播放处理装置中的音频处理组件的休眠时长阈值,并在音频处理组件的休眠时长达到休眠时长阈值时,唤醒音频处理组件,执行s9。
[0220]
s8,播放音频数据。
[0221]
音频播放处理装置将音频数据写入音频播放处理装置中的音频驱动,以通过音频驱动对硬件驱动进行播放控制,最后再基于硬件驱动驱动音频播放硬件对音频数据进行播放。音频播放处理装置在音频数据播放结束时,执行s9。
[0222]
s9,更新时间戳。
[0223]
音频播放处理装置基于音频数据对应的音频信息生成时间戳,并保存为目标音频对应的时间戳,执行s10。
[0224]
s10,获取目标音频的播放状态。
[0225]
音频播放处理装置基于目标音频对应的时间戳确定目标音频的播放状态,在目标音频的播放状态为未结束播放时,执行s2,并在目标音频的播放状态为结束播放时,结束对目标音频的音频播放处理进程。
[0226]
在本技术实施例中,通过获取音频数据的播放音量值,并基于播放音量值判断当前播放过程是否为静音播放,即播放音量值小于或等于音量阈值时,确定为静音播放,然后控制音频播放处理装置中的音频驱动、硬件驱动和音频播放硬件进入待机状态,使得音频驱动、硬件驱动和音频播放硬件都停止工作,同时还通过丢弃音频数据,使得当前的播放进程也停止处理音频数据,从而避免无意义的工作进程所带来的电力消耗,降低了音频播放过程产生的功耗。
[0227]
下面将结合附图7-附图8本技术实施例提供的音频播放处理装置进行详细介绍。需要说明的是,附图7-附图8音频播放处理装置,用于执行本技术图2-图6所示实施例的方法,为了便于说明,仅示出了与本技术实施例相关的部分,具体技术细节未揭示的,请参照本技术图2-图6所示的实施例。
[0228]
请参见图7,为本技术实施例提供了一种音频播放处理装置的结构示意图。如图7所示,本技术实施例的所述音频播放处理装置2可以包括:音频处理模块11、音量获取模块12、待机控制模块13。
[0229]
音频处理模块11,用于响应于音频播放软件获取的目标音频,对所述目标音频进行分段处理,得到至少一个分段数据;
[0230]
音量获取模块12,用于按照所述目标音频的播放顺序,在所述至少一个分段数据中获取音频数据,获取针对所述音频数据的播放音量值,所述音频数据为所述至少一个分
段数据中的任一分段数据;
[0231]
待机控制模块13,用于若所述播放音量值小于或等于音量阈值,则控制音频驱动、硬件驱动和音频播放硬件进入待机状态,并丢弃所述音频数据。
[0232]
在本技术实施例中,通过获取音频数据的播放音量值,并基于播放音量值判断当前播放过程是否为静音播放,即播放音量值小于或等于音量阈值时,确定为静音播放,然后控制音频播放处理装置中的音频驱动、硬件驱动和音频播放硬件进入待机状态,使得音频驱动、硬件驱动和音频播放硬件都停止工作,同时还通过丢弃音频数据,使得当前的播放进程也停止处理音频数据,从而避免无意义的工作进程所带来的电力消耗,降低了音频播放过程产生的功耗。
[0233]
可选的,所述待机控制模块13具体用于:
[0234]
若所述播放音量值小于或等于音量阈值,获取采用所述播放音量值的持续播放时长,所述持续播放时长指示对所述目标音频按照所述播放音量值持续进行音频播放的时长;
[0235]
若所述持续播放时长达到时长阈值,则控制音频驱动、硬件驱动和音频播放硬件进入待机状态,并丢弃所述音频数据。
[0236]
可选的,所述待机控制模块13具体用于:
[0237]
若所述持续播放时长达到时长阈值,则获取所述音频驱动的运行状态;
[0238]
若所述音频驱动的运行状态为工作状态,则调用关闭接口控制所述音频驱动、硬件驱动和音频播放硬件进入待机状态,并丢弃所述音频数据。
[0239]
可选的,所述待机控制模块13具体用于:
[0240]
若所述持续播放时长未达到时长阈值,则向所述音频驱动写入所述音频数据,以通过所述音频驱动控制所述硬件驱动和所述音频播放硬件播放所述音频数据。
[0241]
可选的,请参照图8,音频播放处理装置1还包括:音频数据播放模块14。
[0242]
所述音频数据播放模块14具体用于:
[0243]
若所述播放音量值大于音量阈值,则向所述音频驱动写入所述音频数据,以通过所述音频驱动控制所述硬件驱动和所述音频播放硬件播放所述音频数据。
[0244]
可选的,请参照图8,音频播放处理装置1还包括:目标音频播放模块15。
[0245]
所述目标音频播放模块15具体用于:
[0246]
获取所述音频数据在所述目标音频中的目标时间戳,所述目标时间戳用于指示所述目标音频的播放进度;
[0247]
基于所述目标时间戳确定所述目标音频的播放状态;
[0248]
若所述目标音频的播放状态为未播放结束,则执行所述按照所述目标音频的播放顺序,在所述至少一个分段数据中获取音频数据,获取针对所述音频数据的播放音量值。
[0249]
可选的,所述目标音频播放模块15具体用于:
[0250]
获取所述目标音频对应的历史时间戳,所述历史时间戳为针对所述目标音频中与所述音频数据相邻的上一段音频数据生成的时间戳,所述历史时间戳包括所述目标音频中的历史位置信息以及历史时间信息;
[0251]
获取所述音频数据对应的帧数以及采样率;
[0252]
基于所述历史位置信息和所述帧数确定目标音频对应的当前位置信息,所述当前
位置信息指示所述音频数据的最后一帧音频帧在所述目标音频中的帧位置信息;
[0253]
基于所述历史时间信息、所述帧数和所述采样率确定所述目标音频对应的当前时间信息,所述当前时间信息指示所述音频数据的最后一帧音频帧在所述目标音频的音频时长中的时间位置;
[0254]
基于所述当前位置信息和所述当前时间信息生成所述目标音频对应的目标时间戳。
[0255]
可选的,所述目标音频播放模块15具体用于:
[0256]
基于所述帧数和所述采样率确定所述音频数据的播放时长;
[0257]
基于所述音频数据在开始播放时的第一系统时间和所述播放时长,确定所述音频数据的在播放结束时的第二系统时间;
[0258]
若当前系统时间达到所述第二系统时间,则执行所述基于所述目标时间戳确定所述目标音频的播放状态。
[0259]
可选的,所述目标音频播放模块15具体用于:
[0260]
获取所述目标音频对应的历史时间戳,所述历史时间戳为针对所述目标音频中与所述音频数据相邻的上一段音频数据生成的时间戳,所述历史时间戳包括所述目标音频中的历史位置信息以及历史时间信息;
[0261]
获取所述音频数据对应的帧数,并基于所述历史位置信息和所述帧数确定目标音频对应的当前位置信息,所述当前位置信息指示所述音频数据的最后一帧音频帧在所述目标音频中的帧位置信息;
[0262]
若所述音频数据播放结束,则基于所述音频数据在开始播放时的第三系统时间和所述音频数据在播放结束时的第四系统时间获取时间增量,并基于所述时间增量和所述历史时间信息确定所述目标音频对应的当前时间信息,所述当前时间信息指示所述音频数据的最后一帧音频帧在所述目标音频的音频时长中的时间位置;
[0263]
基于所述当前位置信息和所述当前时间信息生成所述目标音频对应的目标时间戳。
[0264]
可选的,所述目标音频播放模块15具体用于:
[0265]
若所述音频驱动为待机状态,则模拟播放所述音频数据,在所述音频数据模拟播放结束时,基于模拟播放起始时的第三系统时间和模拟播放结束时的第四系统时间获取第一时间增量,并基于所述第一时间增量和所述历史时间信息确定所述目标音频对应的当前时间信息;
[0266]
若所述音频驱动为工作状态,则在所述音频数据实际播放结束时,基于实际播放起始时的第三系统时间和实际播放结束时的第四系统时间获取第二时间增量,并基于所述第二时间增量和所述历史时间信息确定所述目标音频对应的当前时间信息。
[0267]
本技术实施例还提供了一种存储介质,所述存储介质可以存储有多条程序指令,所述程序指令适于由处理器加载并执行如上述图2-图6所示实施例的方法步骤,具体执行过程可以参见图2-图6所示实施例的具体说明,在此不进行赘述。
[0268]
请参见图9,为本技术实施例提供了一种计算机设备的结构示意图。如图9所示,所述计算机设备1000可以包括:至少一个处理器1001,至少一个通信总线1002,至少一个输入输出接口1003,至少一个网络接口1004和至少一个存储器1005。其中,处理器1001可以包括
一个或者多个处理核心。处理器1001利用各种接口和线路连接整个计算机设备1000内的各个部分,通过运行或执行存储在存储器1005内的指令、程序、代码集或指令集,以及调用存储在存储器1005内的数据,执行终端1000的各种功能和处理数据。存储器1005可以是高速ram存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。其中,网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。通信总线1002用于实现这些组件之间的连接通信。如图9所示,作为一种终端设备存储介质的存储器1005中可以包括操作系统、网络通信模块、输入输出接口模块以及音频播放处理程序。
[0269]
在图9所示的计算机设备1000中,输入输出接口1003主要用于为用户以及接入设备提供输入的接口,获取用户以及接入设备输入的数据。
[0270]
在一个实施例中。
[0271]
处理器1001可以用于调用存储器1005中存储的音频播放处理程序,并具体执行以下操作:
[0272]
响应于音频播放软件获取的目标音频,对所述目标音频进行分段处理,得到至少一个分段数据;
[0273]
按照所述目标音频的播放顺序,在所述至少一个分段数据中获取音频数据,获取针对所述音频数据的播放音量值,所述音频数据为所述至少一个分段数据中的任一分段数据;
[0274]
若所述播放音量值小于或等于音量阈值,则控制音频驱动、硬件驱动和音频播放硬件进入待机状态,并丢弃所述音频数据。
[0275]
可选的,所述处理器1001在执行所述若所述播放音量值小于或等于音量阈值,则控制音频驱动、硬件驱动和音频播放硬件进入待机状态,并丢弃所述音频数据时,具体执行以下操作:
[0276]
若所述播放音量值小于或等于音量阈值,获取采用所述播放音量值的持续播放时长,所述持续播放时长指示对所述目标音频按照所述播放音量值持续进行音频播放的时长;
[0277]
若所述持续播放时长达到时长阈值,则控制音频驱动、硬件驱动和音频播放硬件进入待机状态,并丢弃所述音频数据。
[0278]
可选的,所述处理器1001在执行所述若所述持续播放时长达到时长阈值,则调用关闭接口控制音频驱动、硬件驱动和音频播放硬件进入待机状态,并丢弃所述音频数据时,具体执行以下操作:
[0279]
若所述持续播放时长达到时长阈值,则获取所述音频驱动的运行状态;
[0280]
若所述音频驱动的运行状态为工作状态,则调用关闭接口控制所述音频驱动、硬件驱动和音频播放硬件进入待机状态,并丢弃所述音频数据。
[0281]
可选的,所述处理器1001在执行所述获取采用所述播放音量值的持续播放时长之后,还执行以下操作:
[0282]
若所述持续播放时长未达到时长阈值,则向所述音频驱动写入所述音频数据,以通过所述音频驱动控制所述硬件驱动和所述音频播放硬件播放所述音频数据。
[0283]
可选的,所述处理器1001在执行所述获取针对所述音频数据的播放音量值之后,
还执行以下操作:
[0284]
若所述播放音量值大于音量阈值,则向所述音频驱动写入所述音频数据,以通过所述音频驱动控制所述硬件驱动和所述音频播放硬件播放所述音频数据。
[0285]
可选的,处理器1001还可以用于调用存储器1005中存储的音频播放处理程序,并具体执行以下操作:
[0286]
获取所述音频数据在所述目标音频中的目标时间戳,所述目标时间戳用于指示所述目标音频的播放进度;
[0287]
基于所述目标时间戳确定所述目标音频的播放状态;
[0288]
若所述目标音频的播放状态为未播放结束,则执行所述按照所述目标音频的播放顺序,在所述至少一个分段数据中获取音频数据,获取针对所述音频数据的播放音量值。
[0289]
可选的,所述处理器1001在执行所述获取所述音频数据在所述目标音频中的目标时间戳时,具体执行以下操作:
[0290]
获取所述目标音频对应的历史时间戳,所述历史时间戳为针对所述目标音频中与所述音频数据相邻的上一段音频数据生成的时间戳,所述历史时间戳包括所述目标音频中的历史位置信息以及历史时间信息;
[0291]
获取所述音频数据对应的帧数以及采样率;
[0292]
基于所述历史位置信息和所述帧数确定目标音频对应的当前位置信息,所述当前位置信息指示所述音频数据的最后一帧音频帧在所述目标音频中的帧位置信息;
[0293]
基于所述历史时间信息、所述帧数和所述采样率确定所述目标音频对应的当前时间信息,所述当前时间信息指示所述音频数据的最后一帧音频帧在所述目标音频的音频时长中的时间位置;
[0294]
基于所述当前位置信息和所述当前时间信息生成所述目标音频对应的目标时间戳。
[0295]
可选的,所述处理器1001在执行所述基于所述目标时间戳确定所述目标音频的播放状态之前,还执行以下操作:
[0296]
基于所述帧数和所述采样率确定所述音频数据的播放时长;
[0297]
基于所述音频数据在开始播放时的第一系统时间和所述播放时长,确定所述音频数据的在播放结束时的第二系统时间;
[0298]
若当前系统时间达到所述第二系统时间,则执行所述基于所述目标时间戳确定所述目标音频的播放状态。
[0299]
可选的,所述处理器1001在执行所述获取所述音频数据在所述目标音频中的目标时间戳时,具体执行以下操作:
[0300]
获取所述目标音频对应的历史时间戳,所述历史时间戳为针对所述目标音频中与所述音频数据相邻的上一段音频数据生成的时间戳,所述历史时间戳包括所述目标音频中的历史位置信息以及历史时间信息;
[0301]
获取所述音频数据对应的帧数,并基于所述历史位置信息和所述帧数确定目标音频对应的当前位置信息,所述当前位置信息指示所述音频数据的最后一帧音频帧在所述目标音频中的帧位置信息;
[0302]
若所述音频数据播放结束,则基于所述音频数据在开始播放时的第三系统时间和
所述音频数据在播放结束时的第四系统时间获取时间增量,并基于所述时间增量和所述历史时间信息确定所述目标音频对应的当前时间信息,所述当前时间信息指示所述音频数据的最后一帧音频帧在所述目标音频的音频时长中的时间位置;
[0303]
基于所述当前位置信息和所述当前时间信息生成所述目标音频对应的目标时间戳。
[0304]
可选的,所述处理器1001在执行所述若所述音频数据播放结束,则基于所述音频数据在开始播放时的第三系统时间和所述音频数据在播放结束时的第四系统时间获取时间增量,并基于所述时间增量和所述历史时间信息确定所述目标音频对应的当前时间信息时,具体执行以下操作:
[0305]
若所述音频驱动为待机状态,则模拟播放所述音频数据,在所述音频数据模拟播放结束时,基于模拟播放起始时的第三系统时间和模拟播放结束时的第四系统时间获取第一时间增量,并基于所述第一时间增量和所述历史时间信息确定所述目标音频对应的当前时间信息;
[0306]
若所述音频驱动为工作状态,则在所述音频数据实际播放结束时,基于实际播放起始时的第三系统时间和实际播放结束时的第四系统时间获取第二时间增量,并基于所述第二时间增量和所述历史时间信息确定所述目标音频对应的当前时间信息。
[0307]
在本技术实施例中,通过获取音频数据的播放音量值,并基于播放音量值判断当前播放过程是否为静音播放,即播放音量值小于或等于音量阈值时,确定为静音播放,然后控制音频播放处理装置中的音频驱动、硬件驱动和音频播放硬件进入待机状态,使得音频驱动、硬件驱动和音频播放硬件都停止工作,同时还通过丢弃音频数据,使得当前的播放进程也停止处理音频数据,从而避免无意义的工作进程所带来的电力消耗,降低了音频播放过程产生的功耗。
[0308]
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本技术所必须的。
[0309]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
[0310]
以上为对本技术所提供的一种音频播放处理方法、装置、存储介质及设备的描述,对于本领域的技术人员,依据本技术实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本技术的限制。
再多了解一些

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

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

相关文献