音频播放方法及设备与流程

文档序号:33461011发布日期:2023-03-15 03:48阅读:37来源:国知局
1.本公开实施例涉及音频处理
技术领域
:,尤其涉及一种音频播放方法及设备。
背景技术
::2.随着电子设备的功能越来越强大,人们对电子设备的使用日益广泛。人们在使用电子设备的过程中可以播放音频,在播放音频时,用户可以调整音频播放速率。例如,用户可以调整音频播放速率为标准速率的两倍。3.从而,如何在调整音频播放速率时保证播放平滑性是亟待解决的问题。技术实现要素:4.本公开实施例提供一种音频播放方法及设备,可以在调整音频播放速率时保证播放平滑性。5.第一方面,本公开实施例提供一种音频播放方法,包括:6.接收速率调整指令,所述速率调整指令用于将音频播放速率从预设标准速率的第一倍数调整为预设标准速率的第二倍数;7.创建所述第二倍数的第二音频过滤器;8.调用所述第二音频过滤器,对第一缓存中的第二音频数据进行所述第二倍数的变速处理,得到第三音频数据,所述第二音频数据是第一音频过滤器对第一音频数据进行第一处理之后得到的,所述第一处理至少包括以下一项:音频解码、格式转换、采样、声道转换;9.将所述第三音频数据进行播放。10.第二方面,本公开实施例提供一种电子设备,包括:11.速率调整指令接收模块,用于接收速率调整指令,所述速率调整指令用于将音频播放速率从预设标准速率的第一倍数调整为预设标准速率的第二倍数;12.过滤器创建模块,用于创建所述第二倍数的第二音频过滤器;13.第一变速处理模块,用于调用所述第二音频过滤器,对第一缓存中的第二音频数据进行所述第二倍数的变速处理,得到第三音频数据,所述第二音频数据是第一音频过滤器对第一音频数据进行第一处理之后得到的,所述第一处理至少包括以下一项:音频解码、格式转换、采样、声道转换;14.第一音频播放模块,用于将所述第三音频数据进行播放。15.第三方面,本公开实施例提供一种电子设备,包括:至少一个处理器和存储器;16.所述存储器存储计算机执行指令;17.所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述电子设备实现如第一方面所述的方法。18.第四方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,使计算设备实现如第一方面所述的方法。19.第五方面,本公开实施例提供一种计算机程序,所述计算机程序用于实现如第一方面所述的方法。20.本公开实施例提供了一种音频播放方法及设备,该方法包括:接收速率调整指令,该速率调整指令用于将音频播放速率从预设标准速率的第一倍数调整为预设标准速率的第二倍数;创建第二倍数的第二音频过滤器;调用第二音频过滤器,对第一缓存中的第二音频数据进行第二倍数的变速处理,得到第三音频数据,第二音频数据是第一音频过滤器对第一音频数据进行第一处理之后得到的,第一处理至少包括以下一项:音频解码、格式转换、采样、声道转换;将第三音频数据进行播放。本公开实施例将进行第一处理和变速处理的变速处理器拆分为两个,其中一个第一音频过滤器用于进行第一处理,另一个第二音频过滤器用于进行变速处理。这样,在接收到速率调整指令时,可以重新创建一个新的第二音频过滤器,以对第一音频过滤器进行第一处理但未进行变速处理的音频数据进行变速处理。如此,可以避免第一音频过滤器进行第一处理但未进行变速处理的音频数据被丢失,进而提高了播放器对音频数据的播放平滑性。附图说明21.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。22.图1示例性示出了现有技术提供的音频变速播放装置的结构示意图;23.图2示例性示出了本公开实施例提供的一种音频播放方法的步骤流程图;24.图3示例性示出了本公开实施例提供的一种音频变速播放装置的结构示意图;25.图4示例性示出了本公开实施例提供的一种音频播放方法的详细过程示意图;26.图5至图7示例性示出了本公开实施例提供的三种电子设备的结构框图。具体实施方式27.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。28.本公开实施例可以应用于电子设备中,电子设备可以是任意具有音频播放功能的设备,例如,手机、平板电脑、计算机。29.上述电子设备默认以预设标准速率播放音频。在播放音频的过程中,用户可以倍速播放音频,即将音频播放速率调整为预设标准速率的若干倍。30.上述对音频进行倍速播放的过程可以由音频变速播放装置实现。图1示例性示出了现有技术提供的音频变速播放装置的结构示意图。参照图1所示,音频变速播放装置包括:变速处理器、播放器。31.采用图1所示的音频变速播放装置进行音频播放时,首先,变速处理器可以对原始音频数据经过至少一种第一处理,包括但不限于:格式转换、声道转换、音频解码、采样;然后,变速处理器可以对第一处理之后的音频数据进行变速处理;最后,播放器可以将变速处理后的音频数据进行播放。32.在实际应用中,由于音频在传输之前通常需要进行编码的,即将模拟音频数据转换为数字音频数据,从而在对音频进行播放之前,需要对音频进行解码,即将数字音频数据转换为模拟音频数据。33.格式转换用于将音频格式从第一格式转换为播放器支持的第二格式。当然,如果播放器支持第一格式,则不需要进行格式转换。音频格式可以包括但不限于:mp3(mediaplayerthree,媒体播放器)、flac(freelosslessaudiocodec,无损音频编解码器)、wav(windowswave,窗口波动)。34.采样是将声波转换为二进制数据的过程。35.声道转换是将音频的声道数目进行转换,例如,将一个声道的音频转换为两个声道的音频,或将四个声道的音频转换为两个声道的音频。36.上述过程中的变速处理器是可以是ffmpeg(fastforwardmovingpictureexpertgroup,快速前向运动图像专家组,一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序)提供的avfilter(audiovideofilter,音视频过滤器)。由于本公开实施例仅用到了其音频处理功能,从而在本公开实施例中,将其称为音频过滤器。37.现有技术中,由于上述avfilter的变速参数是在创建时设定的,后续无法修改,从而avfilter在创建之后只能按照创建时设定的变速参数进行变速,而不能采用原有的avfilter根据调整之后的变速参数进行变速处理。如此,为了实现不同变速参数的音频播放,需要创建新的avfilter,也就是创建新的变速处理器,并将其变速参数设置为调整后的变速参数。但是,由于变速处理器不仅进行第一处理还进行变速处理,从而重新创建变速处理器会导致变速处理器进行第一处理但未进行变速处理的音频数据被丢失。如此导致播放器播放的音频数据不连续,也就是播放的平滑性较差。38.为了解决上述技术问题,本公开实施例将进行第一处理和变速处理的变速处理器拆分为两个,其中一个第一音频过滤器用于进行第一处理,另一个第二音频过滤器用于进行变速处理。这样,在接收到速率调整指令时,可以重新创建一个新的第二音频过滤器,以对第一音频过滤器进行第一处理但未进行变速处理的音频数据进行变速处理。如此,可以避免第一音频过滤器进行第一处理但未进行变速处理的音频数据被丢失,进而提高了播放器对音频数据的播放平滑性。39.下面以具体地实施例对本公开实施例的技术方案以及本公开的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本公开实施例进行描述。40.参考图2,图2示例性示出了本公开实施例提供的一种音频播放方法的步骤流程图。图2所示的方法可以应用在电子设备中,参照图2所示,该音频播放方法包括:41.s101:接收速率调整指令,该速率调整指令用于将音频播放速率从预设标准速率的第一倍数调整为预设标准速率的第二倍数。42.其中,速率调整指令可以是用户在音频播放界面上触发的指令,用于将音频播放速率从第二速率调整为第一速率,第二速率为预设标准速率的第一倍数,第一速率为预设标准速率的第二倍数。可以理解的是,当第一倍数为1,第二倍数为2时,速率调整指令用于将音频播放速率从预设标准速率调整为预设标准速率的两倍,也就是将音频以两倍速播放。43.在本公开实施例中,avfilter的变速参数可以用预设标准速率的倍数表示,例如,第二倍数和第一倍数。当然,这个倍数可以大于1也可以小于1。当倍数大于1时,是加速播放。当倍数小于1时,是减速播放。44.s102:创建第二倍数的第二音频过滤器。45.在现有技术中,一个用于进行变速处理的音频过滤器的变速参数是在创建该音频过滤器时设定的,后续无法修改。从而无法采用第一倍数的原音频过滤器实现第二倍数的变速处理。46.为了实现第二倍数的变速处理,需要创建一个新的音频过滤器作为第二音频过滤器,并将该第二音频过滤器的变速参数设置为第二倍数。47.可选地,在创建第二音频过滤器之前,需要判断使用第一倍数变速得到的未被播放的音频数据量是否达到预设单位播放量。如果达到,则创建第二倍数的第二音频过滤器,以进行s103。如果未达到,则不创建第二倍数的第二音频过滤器,并且按照原第一倍数对第一缓存中的第二音频数据进行变速处理,直至使用第一倍数变速得到的未被播放的音频数据量达到预设单位播放量时,进入创建第二倍数的第二音频过滤器的步骤。48.其中,使用第一倍数变速得到的未被播放的音频数据量可以是第二缓存中的第三音频数据的音频数据量。49.在实际应用中,播放器进行音频播放时是按照预设单位播放量进行播放的,对于未达到预设单位播放量的音频数据,播放器无法播放,从而对其进行丢弃。从而,如果在使用第一倍数变速得到的未被播放的音频数据量未达到预设单位播放量时,创建第一倍数的第二音频过滤器,会导致使用第一倍数变速得到的未被播放的音频数据量被丢弃,进而导致播放的平滑性较差。50.为了解决上述问题,本公开实施例在满足上述条件时创建第二音频过滤器,可以保证第一倍数的原第二音频过滤器已变速处理得到一个完整的可以播放的第二音频数据。由于这部分第二音频数据可播放,从而避免其被丢弃,有助于进一步提高播放平滑性。51.s103:调用第二音频过滤器,对第一缓存中的第二音频数据进行第二倍数的变速处理,得到第三音频数据,第二音频数据是第一音频过滤器对第一音频数据进行第一处理之后得到的,第一处理至少包括以下一项:音频解码、格式转换、采样、声道转换。52.其中,变速处理可以通过一次或多次进行。每次变速处理时,图3中的第二音频过滤器从图3中的第一缓存中取一定量的第二音频数据,以对其进行变速处理。如此,不断进行,直至第一缓存为空。53.上述变速处理可以理解为在保持音频内容不丢失的前提下调整播放时长,也就是说,将一个需要t1时长可播放完的音频转换为需要t2时长可播放完的音频。当t1大于t2时,变速参数变大,t2时长对应的音频数据量通常大于t1时长对应的音频数据量,从而实现了加速播放。当t1小于t2时,变速参数变小,t2时长对应的音频数据量通常小于t1时长对应的音频数据量,从而实现了减速播放。54.在得到上述第三音频数据之后,可以将第三音频数据存储到图3中的第二音频过滤器对应的第二缓存中。在达到预设单位播放量时,将预设单位播放量的第三音频数据从图3所示的第二缓存移动到图3所示的播放器缓存中,以使播放器进行播放。此时,第二缓存中不再存储已移动到播放器缓存中的第二音频数据。55.当然,还可以将第二缓存和播放器缓存合并为一个缓存,本公开实施例对其不加以限制。56.在实际应用中,第一音频过滤器在进行第一处理之前,可以判断第一缓存是否达到预设音频数据量。如果达到预设音频数据量,则代表第一缓存已满,此时,第一音频过滤器需要停止进行第一处理,如果未达到预设音频数据量,则代表第一缓存未满,此时,第一音频过滤器可以进行第一处理,并将第一处理得到的第二音频数据存储到第一缓存中。57.可选地,在调用第二音频过滤器,对第一缓存中的第二音频数据进行第二倍数的变速处理之前,还可以删除第一缓存中的第二音频数据的第一标记。由于该第一标记用于表示第二音频数据已进行变速处理但未播放,从而此时删除的第一标记对应的第二音频数据是已按照第一倍数进行变速处理但未播放的音频数据。58.可以理解的是,在删除第一标记之后,代表该第二音频数据未被进行变速处理,从而需要重新按照第二倍数进行变速处理。如此,实现了对已按照第一倍数进行变速处理但未播放的第二音频数据,重新按照第二倍数进行变速处理以播放。这样,保证了未播放的音频数据均按照新的变速参数进行变速播放,减小了对速率调整指令的响应延迟,提高了对速率调整指令的响应及时性。59.与上述删除第一标记对应,在通过任意倍数对第二音频数据进行变速处理之前,均需要将第二音频数据设置为第一标记,代表已开始对这部分第二音频数据进行变速处理。并且,在对第一缓存中的第二音频数据进行变速处理得到的音频数据量达到预设单位播放量时,从第一缓存中删除具有第一标记的第二音频数据。60.上述过程可以保证对第一缓存中变速处理完的第二音频数据的删除准确度,避免将未变速处理完的第二音频数据被删除,有助于进一步提高播放平滑性。61.可选地,为了避免播放器缓存已满时,向播放器缓存中放入第三音频数据,本公开实施例可以判断播放器缓存中的音频数据量,在音频数据量小于或等于第一数据量阈值时,才对第一缓存中的第二音频数据进行变速处理。62.需要说明的是,当音频按照预设标准速率播放时,可以认为对音频按照倍数1进行变速处理,变速前后的音频数据量相同,均为预设单位播放量m。63.当音频按照大于预设标准速率的音频播放速率播放时,按照大于1的倍数对音频进行变速处理,变速后的音频数据量小于变速前的音频数据量。64.当音频按照小于预设标准速率的音频播放速率播放时,按照小于1的倍数对音频进行变速处理,变速后的音频数据量大于变速前的音频数据量。65.s104:将第三音频数据进行播放。66.可以理解的是,第三音频数据可以是一次或多次变速处理得到的音频数据。67.当一次变速处理得到的第三音频数据的数据量达到预设单位播放量时,将第三音频数据从第二缓存存储到播放器缓存中,并删除第二缓存中的第三音频数据;然后调用播放器播放播放器缓存中的第三音频数据。在实际应用中,当第二倍数小于或等于1时,一次变速处理得到的第三音频数据的数据量达到预设单位播放量。需要说明的是,采用第一缓存、第二缓存和播放器缓存三个独立的缓存,有助于降低播放音频数据时产生的杂音和电流音。68.当一次变速处理得到的第三音频数据的数据量未达到预设单位播放量时,继续从第一缓存中获取音频数据,对其按照第二倍数进行变速处理,直至变速得到的第三音频数据累计达到预设单位播放量,将这些累计达到预设单位播放量的第三音频数据存储到播放器缓存中,并调用播放器播放播放器缓存中的第三音频数据。在实际应用中,当第二倍数大于1时,一次变速处理得到的第三音频数据的数据量未达到预设单位播放量。例如,若第二倍数为2,则两次变速处理得到的第三音频数据的数据量达到预设单位播放量。69.可选地,在接收到速率调整指令之后,由于第二倍数和第一倍数不同,从而为了合理使用缓存空间,可以调整第一缓存的大小。在本公开实施例中,可以根据预设函数和第二倍数调整第一缓存的大小,该预设函数用于表示播放器缓存的大小、第一缓存的大小和音频播放速率之间的对应关系。70.其中,播放器缓存的大小可以根据实际应用场景设定。当播放器缓存设置较小时,音频播放的实时性较好,反之,当播放器缓存设置较大时,音频播放的实时性较差。播放器缓存的大小在设定之后固定,不随音频播放速率的变化而变化。71.预设函数可以是根据历史经验得到的。由于播放器缓存的大小固定,从而第一缓存的大小随音频播放速率的变化而变化。当音频播放速率变大时,第一缓存增大;当音频播放速率变小时,第一缓存减小。72.图4示例性示出了本公开实施例提供的一种音频播放方法的详细过程示意图。从图4中可以看出,音频播放方法的详细过程可以包括以下步骤:73.s1:判断第一缓存是否满。在第一缓存未满时,进入s2;在第一缓存满时,进入s4。74.可以理解的是,在对第一音频数据进行第一处理之前判断第一缓存是否满,从而可以避免第一缓存满时,第一处理后的第二音频数据无法存储。75.s2:对第一音频数据进行第一处理,并进入s3和s5。76.s3:将第一处理后的第二音频数据存储到第一缓存中。77.s4:等待超时,即等待预设时长,在这预设时长内不进行第一处理。在等待预设时长之后,进入s5。78.其中,预设时长可以根据预设单位播放量的播放时长确定,预设时长可以为预设单位播放量的播放时长的倍数,包括一倍。为了保证预设时长的准确度,可以实时的统计预设单位播放量的播放时长,以更新预设时长。79.s5:判断播放器缓存是否满。在播放器缓存满时,进入s1;在播放器缓存未满时,进入s6。80.可以理解的是,在播放器缓存未满时,进行变速处理,从而变速处理后的第三音频数据可以存储到播放器缓存中。在播放器缓存满时,不进行变速处理,避免变速处理后的第三音频数据无法存储。81.s6:判断是否接收到速率调整指令。在接收到速率调整指令时,进入s7;在未接收到速率调整指令时,进入s9。82.可以理解的是,在未接收到速率调整指令时,仍然按照原第一倍数对第一缓存中的第二音频数据进行变速处理。83.s7:判断使用第一倍数变速得到的未被播放的音频数据量是否达到预设单位播放量。在达到预设单位播放量时,进入s8;在使用第一倍数变速得到的未被播放的音频数据量未达到预设单位播放量时,进入s9。84.其中,使用第一倍数变速得到的未被播放的音频数据量是第二缓存中的音频数据量。85.s8:创建第二音频过滤器,删除第一缓存中的第二音频数据的第一标记,设置变速参数为第二倍数,并进入s9。86.s9:通过变速参数依次对第一缓存中的第二音频数据进行变速处理,并进入s10和s11。87.s10:从第一缓存中删除已结束变速处理的第二音频数据。88.具体的,在第二缓存中的第三音频数据的音频数据量达到预设单位播放量时,从第一缓存中删除具有第一标记的第二音频数据。89.s11:调用播放器对播放器缓存中的第三音频数据进行播放。90.s12:释放播放器缓存。91.播放器缓存每次播放预设单位播放量的音频数据,在播放完预设单位播放量的音频数据之后,删除这次播放完的预设单位播放量的音频数据。92.对应于上文实施例的音频播放方法,图5示例性示出了本公开实施例提供的一种电子设备的结构框图。为了便于说明,仅示出了与本公开实施例相关的部分。参照图5,上述电子设备200包括:速率调整指令接收模块201、过滤器创建模块202、第一变速处理模块203和第一音频播放模块204。93.其中,速率调整指令接收模块201,用于接收速率调整指令,该速率调整指令用于将音频播放速率从预设标准速率的第一倍数调整为预设标准速率的第二倍数。94.过滤器创建模块202,用于创建所述第二倍数的第二音频过滤器。95.第一变速处理模块203,用于调用所述第二音频过滤器,对第一缓存中的第二音频数据进行所述第二倍数的变速处理,得到第三音频数据,所述第二音频数据是第一音频过滤器对第一音频数据进行第一处理之后得到的,所述第一处理至少包括以下一项:音频解码、格式转换、采样、声道转换。96.第一音频播放模块204,用于将第三音频数据进行播放。97.可选地,上述过滤器创建模块202,还用于:98.若使用第一倍数变速得到的未被播放的音频数据量达到预设单位播放量,则创建所述第二倍数的第二音频过滤器。99.可选地,上述电子设备200还包括:100.第一标记删除模块,用于调用所述第二音频过滤器,对第一缓存中的第二音频数据进行所述第二倍数的变速处理,得到第三音频数据之前,删除所述第一缓存中的第二音频数据的第一标记,所述第一标记用于表示所述第二音频数据已进行变速处理但未播放。101.可选地,上述电子设备200还包括:102.第二变速处理模块,用于若使用第一倍数变速得到的未被播放的音频数据量未达到预设单位播放量,则通过所述第一倍数对所述第一缓存中的第二音频数据进行变速处理,直至使用所述第一倍数变速得到的未被播放的音频数据量达到预设单位播放量时,进入所述创建所述第二倍数的第二音频过滤器的步骤。103.可选地,上述电子设备200还包括:104.标记模块,用于在对所述第一缓存中的第二音频数据进行变速处理之前,在所述第一缓存中对所述第二音频数据设置所述第一标记。105.可选地,上述电子设备200还包括:106.音频数据删除模块,用于在对所述第一缓存中的第二音频数据进行变速处理得到的音频数据量达到预设单位播放量时,从所述第一缓存中删除具有所述第一标记的第二音频数据。107.可选地,所述第三音频数据存储于第二缓存中,上述第一音频播放模块204,还用于:108.在所述第三音频数据的数据量达到预设单位播放量时,将所述第三音频数据从所述第二缓存存储至播放器缓存中,并删除所述第二缓存中的第三音频数据;调用播放器播放所述播放器缓存中的第三音频数据。109.可选地,上述第一变速处理模块203,还用于:110.若播放器缓存中的音频数据量小于或等于第一数据量阈值,则调用所述第二音频过滤器,对第一缓存中的第二音频数据进行所述第二倍数的变速处理,得到第三音频数据。111.可选地,上述电子设备200还包括:112.第一缓存大小调整模块,用于根据预设函数和第二倍数调整第一缓存的大小,该预设函数用于表示播放器缓存的大小、第一缓存的大小和音频播放速率之间的对应关系。113.本实施例提供的电子设备,可用于执行上述图2所示的方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。114.图6示例性示出了本公开实施例提供的一种电子设备600的结构框图。该电子设备600包括存储器602和至少一个处理器601;115.其中,存储器602存储计算机执行指令;116.至少一个处理器601执行存储器602存储的计算机执行指令,使得电子设备601实现前述图2中的音频播放方法。117.此外,该电子设备还可以包括接收器603和发送器604,接收器603用于接收从其余装置或设备的信息,并转发给处理器601,发送器604用于将信息发送到其余装置或设备。118.进一步地,参考图7,其示出了适于用来实现本公开实施例的电子设备900的结构示意图,该电子设备900可以为终端设备。其中,终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、个人数字助理(personaldigitalassistant,简称pda)、平板电脑(portableandroiddevice,简称pad)、便携式多媒体播放器(portablemediaplayer,简称pmp)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图7示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。119.如图7所示,电子设备900可以包括处理装置(例如中央处理器、图形处理器等)901,其可以根据存储在只读存储器(readonlymemory,简称rom)902中的程序或者从存储装置908加载到随机访问存储器(randomaccessmemory,简称ram)903中的程序而执行各种适当的动作和处理。在ram903中,还存储有电子设备900操作所需的各种程序和数据。处areanetwork,简称lan)或广域网(wideareanetwork,简称wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。126.附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。127.描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。128.本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。129.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。130.在第一方面的第一种示例中,本公开实施例提供了一种音频播放方法,包括:131.接收速率调整指令,所述速率调整指令用于将音频播放速率从预设标准速率的第一倍数调整为预设标准速率的第二倍数;132.创建所述第二倍数的第二音频过滤器;133.调用所述第二音频过滤器,对第一缓存中的第二音频数据进行所述第二倍数的变速处理,得到第三音频数据,所述第二音频数据是第一音频过滤器对第一音频数据进行第一处理之后得到的,所述第一处理至少包括以下一项:音频解码、格式转换、采样、声道转换;134.将所述第三音频数据进行播放。135.基于第一方面的第一种示例,在第一方面的第二种示例中,所述创建所述第二倍数的第二音频过滤器,包括:136.若使用所述第一倍数变速得到的未被播放的音频数据量达到预设单位播放量,则创建所述第二倍数的第二音频过滤器。137.基于第一方面的第二种示例,在第一方面的第三种示例中,所述调用所述第二音频过滤器,对第一缓存中的第二音频数据进行所述第二倍数的变速处理,得到第三音频数据之前,还包括:138.删除所述第一缓存中的第二音频数据的第一标记,所述第一标记用于表示所述第二音频数据已进行变速处理但未播放。139.基于第一方面的第二种示例,在第一方面的第四种示例中,所述方法还包括:140.若使用所述第一倍数变速得到的未被播放的音频数据量未达到预设单位播放量,则通过所述第一倍数对所述第一缓存中的第二音频数据进行变速处理,直至使用所述第一倍数变速得到的未被播放的音频数据量达到预设单位播放量时,进入所述创建所述第二倍数的第二音频过滤器的步骤。141.基于第一方面的第三种示例,在第一方面的第五种示例中,所述方法还包括:142.在对所述第一缓存中的第二音频数据进行变速处理之前,在所述第一缓存中对所述第二音频数据设置所述第一标记。143.基于第一方面的第五种示例,在第一方面的第六种示例中,所述方法还包括:144.在对所述第一缓存中的第二音频数据进行变速处理得到的音频数据量达到预设单位播放量时,从所述第一缓存中删除具有所述第一标记的第二音频数据。145.基于第一方面的第一种示例,在第一方面的第七种示例中,所述第三音频数据存储于第二缓存中,所述将所述第三音频数据进行播放,包括:146.在所述第三音频数据的数据量达到预设单位播放量时,将所述第三音频数据从所述第二缓存存储至播放器缓存中,并删除所述第二缓存中的第三音频数据;147.调用播放器播放所述播放器缓存中的第三音频数据。148.基于第一方面的第七种示例,在第一方面的第八种示例中,所述调用所述第二音频过滤器,对第一缓存中的第二音频数据进行所述第二倍数的变速处理,得到第三音频数据,包括:149.若播放器缓存中的音频数据量小于或等于第一数据量阈值,则调用所述第二音频过滤器,对第一缓存中的第二音频数据进行所述第二倍数的变速处理,得到第三音频数据。150.基于第一方面的第七种示例,在第一方面的第九种示例中,还包括:151.根据预设函数和所述第二倍数调整所述第一缓存的大小,所述预设函数用于表示所述播放器缓存的大小、所述第一缓存的大小和所述音频播放速率之间的对应关系。152.在第二方面的第一种示例中,提供了一种电子设备,包括:153.速率调整指令接收模块,用于接收速率调整指令,所述速率调整指令用于将音频播放速率从预设标准速率的第一倍数调整为预设标准速率的第二倍数;154.过滤器创建模块,用于创建所述第二倍数的第二音频过滤器;155.第一变速处理模块,用于调用所述第二音频过滤器,对第一缓存中的第二音频数据进行所述第二倍数的变速处理,得到第三音频数据,所述第二音频数据是第一音频过滤器对第一音频数据进行第一处理之后得到的,所述第一处理至少包括以下一项:音频解码、格式转换、采样、声道转换;156.第一音频播放模块,用于将所述第三音频数据进行播放。157.基于第二方面的第一种示例,在第二方面的第二种示例中,上述过滤器创建模块,还用于:158.若使用第一倍数变速得到的未被播放的音频数据量达到预设单位播放量,则创建所述第二倍数的第二音频过滤器。159.基于第二方面的第二种示例,在第二方面的第三种示例中,上述电子设备还包括:160.第一标记删除模块,用于调用所述第二音频过滤器,对第一缓存中的第二音频数据进行所述第二倍数的变速处理,得到第三音频数据之前,删除所述第一缓存中的第二音频数据的第一标记,所述第一标记用于表示所述第二音频数据已进行变速处理但未播放。161.基于第二方面的第二种示例,在第二方面的第四种示例中,上述电子设备还包括:162.第二变速处理模块,用于若使用第一倍数变速得到的未被播放的音频数据量未达到预设单位播放量,则通过所述第一倍数对所述第一缓存中的第二音频数据进行变速处理,直至使用所述第一倍数变速得到的未被播放的音频数据量达到预设单位播放量时,进入所述创建所述第二倍数的第二音频过滤器的步骤。163.基于第二方面的第三种示例,在第二方面的第五种示例中,上述电子设备还包括:164.标记模块,用于在对所述第一缓存中的第二音频数据进行变速处理之前,在所述第一缓存中对所述第二音频数据设置所述第一标记。165.基于第二方面的第五种示例,在第二方面的第六种示例中,上述电子设备还包括:166.音频数据删除模块,用于在对所述第一缓存中的第二音频数据进行变速处理得到的音频数据量达到预设单位播放量时,从所述第一缓存中删除具有所述第一标记的第二音频数据。167.基于第二方面的第一种示例,在第二方面的第七种示例中,所述第三音频数据存储于第二缓存中,上述第一音频播放模块,还用于:168.在所述第三音频数据的数据量达到预设单位播放量时,将所述第三音频数据从所述第二缓存存储至播放器缓存中,并删除所述第二缓存中的第三音频数据;调用播放器播放所述播放器缓存中的第三音频数据。169.基于第二方面的第七种示例,在第二方面的第八种示例中,上述第一变速处理模块,还用于:170.若播放器缓存中的音频数据量小于或等于第一数据量阈值,则调用所述第二音频过滤器,对第一缓存中的第二音频数据进行所述第二倍数的变速处理,得到第三音频数据。171.基于第二方面的第七种示例,在第二方面的第九种示例中,上述电子设备还包括:172.第一缓存大小调整模块,用于根据预设函数和第二倍数调整第一缓存的大小,该预设函数用于表示播放器缓存的大小、第一缓存的大小和音频播放速率之间的对应关系。173.第三方面,根据本公开的一个或多个实施例,提供了一种电子设备,包括:至少一个处理器和存储器;174.所述存储器存储计算机执行指令;175.所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述电子设备实现第一方面任一项所述的方法。176.第四方面,根据本公开的一个或多个实施例,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,使计算设备实现第一方面任一项所述的方法。177.第五方面,根据本公开的一个或多个实施例,提供了一种计算机程序,所述计算机程序用于实现第一方面任一项所述的方法。178.以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。179.此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。180.尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1