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

一种音频播放方法及装置与流程

2022-11-19 16:52:29 来源:中国专利 TAG:


1.本发明涉及多媒体技术,更具体的说,是涉及一种音频播放方法及装置。


背景技术:

2.html audio技术和webaudio技术均能够实现html浏览器中的音频播放功能。然而当前存在的这两项技术,都不支持不同音频文件源之间的无缝切换播放;也即,两个音频文件源在切换播放的时候,中间会存在一定时间的无声区间,影响用户体验。如何尽量缩短或减小两个音频文件源在切换播放时的无声区间,是领域内技术人员亟待解决的问题。


技术实现要素:

3.有鉴于此,本发明提供如下技术方案:一种音频播放方法,包括:获得音频文件源;加载所述音频文件源对应的webaudio资源和html audio资源;基于至少部分加载完成的html audio资源实现所述音频文件源的播放;在所述webaudio资源加载完成后,由html audio资源切换为webaudio资源继续播放所述音频文件源。
4.可选地,所述在所述webaudio资源加载完成后,由html audio资源切换为webaudio资源继续播放所述音频文件源,包括:在所述webaudio资源加载完成后,确定基于html audio资源播放所述音频文件源的播放位置;从所述webaudio资源中对应所述播放位置处开始播放所述音频文件源。
5.可选地,所述获得音频文件源,包括:获得至少两个音频文件源。
6.可选地,所述加载所述音频文件源对应的webaudio资源和html audio资源,包括:按照所述至少两个音频文件源的播放顺序,针对每一个音频文件源: 加载所述音频文件源对应的webaudio资源和html audio资源。
7.可选地,所述加载所述音频文件源对应的webaudio资源和html audio资源,包括:同时加载所述音频文件源对应的webaudio资源和html audio资源。
8.可选地,所述加载所述音频文件源对应的webaudio资源和html audio资源,包括:在第一时间点开始加载所述音频文件源对应的html audio资源;在第二时间点开始加载所述音频文件源对应的webaudio资源,所述第二时间点晚于所述第一时间点。
9.可选地,在所述webaudio资源加载完成后,由html audio资源切换为webaudio资源继续播放所述音频文件源后,还包括:销毁已加载的所述音频文件源对应的html audio资源。
10.一种音频播放装置,包括:文件获取模块,用于获得音频文件源;资源加载模块,用于加载所述音频文件源对应的webaudio资源和html audio资源;音频播放模块,用于基于至少部分加载完成的html audio资源实现所述音频文件源的播放;播放切换模块,用于在所述webaudio资源加载完成后,由html audio资源切换为webaudio资源继续播放所述音频文件源。
11.可选地,所述播放切换模块包括:位置确定模块,用于在所述webaudio资源加载完成后,确定基于html audio资源播放所述音频文件源的播放位置;播放控制模块,用于从所述webaudio资源中对应所述播放位置处开始播放所述音频文件源。
12.可选地,所述资源加载模块具体用于:同时加载所述音频文件源对应的webaudio资源和html audio资源。
13.经由上述的技术方案可知,本发明实施例公开了一种音频播放方法及装置,方法包括:获得音频文件源;加载所述音频文件源对应的webaudio资源和html audio资源;基于至少部分加载完成的html audio资源实现所述音频文件源的播放;在所述webaudio资源加载完成后,由html audio资源切换为webaudio资源继续播放所述音频文件源。本技术方案在需要播放音频时会加载对应的webaudio和html audio两种资源,由于html audio在接收到音频文件的部分数据时即可认为是加载完成,并开始播放,因此html audio的加载完成时间比webaudio要早,避免或大大缩短了webaudio资源完全加载后才播放的等待时长,同时切换到webaudio资源播放后,又避免了html audio资源播放结束时的留白时间,因此在进行下一个音频的播放时,不会给用户带来明显的音频停顿或空白感,一定程度上实现了不同音频间的“无缝切换”。
附图说明
14.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
15.图1为本发明实施例公开的一种音频播放方法的流程图;图2为本发明实施例公开的播放器播放流程示意图;图3为本发明实施例公开的音频文件源加载流程示意图;图4为本发明实施例公开的实现播放资源切换的流程图;图5为本发明实施例公开的webaudio与html audio的无缝播放切换流程示意图;图6为本发明实施例公开的一种音频播放装置的结构示意图;图7为本发明实施例公开的一种电子设备的结构示意图。
具体实施方式
16.为了引用和清楚起见,下文中使用的技术名词的说明、简写或缩写总结如下:html5:html5是构建web内容的一种语言描述方式。html5是互联网的下一代标准,是构建以及呈现互联网内容的一种语言方式.被认为是互联网的核心技术之一。
17.html audio: html audio是 html5 规范中的一项功能,该功能在浏览器中整合了音频输入、播放和合成,以及语音文本转换。
18.webaudio: w3c 开发的 web audio api 规范描述了一种用于在 web 应用程序中处理和合成音频的高级 javascript api。html5规范中引入的html audio支持网页进行简单的音频播放,但是无法支持更复杂的音频操作,webaudio的出现解决了这些问题。
19.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
20.本技术实施例可以应用于电子设备,本技术对该电子设备的产品形式不做限定,可以包括但并不局限于智能手机、平板电脑、可穿戴设备、个人计算机(personal computer, pc)、上网本等,可以依据应用需求选择。
21.图1为本发明实施例公开的一种音频播放方法的流程图。参见图1所示,音频播放方法可以包括:步骤101:获得音频文件源。
22.这里所述的音频文件源,也可以称为音频源文件。音频文件源是实现html audio和webaudio的加载、切换、播放进行控制的数据结构。每一个音乐文件对应一个音频文件源,当播放器的播放列表中有多个音乐文件时,播放器将生成多个音频文件源。
23.音频文件源中存储了html audio和webaudio的实例。html audio和webaudio的实例各自均能够实现播放音频的功能,本发明中提及的“音频文件源”数据结构利用html audio和webaudio播放音乐,管理两个实例的播放状态,在适当的时刻切换两个实例的播放状态。
24.音频文件源负责管理音频播放的状态。音频文件源有四个状态:加载中、播放中、停止、空状态。音频文件源在初始化时状态为“空状态”。开始加载后,状态变为“加载中”。加载完成后需要播放的情况下,执行播放指令,状态变为“播放中”;不需要播放的情况下,状态变为“停止”。
25.步骤102:加载所述音频文件源对应的webaudio资源和html audio资源。
26.本技术实施例提出的音频播放方法,不同于常规的仅加载一种类型资源的实现,在加载音频文件时可加载对应的html audio和webaudio两种资源。具体的,webaudio资源和html audio资源可以同时加载,也可以先加载html audio资源,后加载webaudio资源。这里所述的webaudio资源和html audio资源,指的即为前文所述的webaudio的实例和html audio的实例。
27.步骤103:基于至少部分加载完成的html audio资源实现所述音频文件源的播放。
28.由于html audio在接收到音频文件的部分数据时即可认为是加载完成,因此可利用html audio不用完全加载文件就能播放的特性,实现立即播放。待webaudio加载完成后,
可以再使用webaudio继续播放。
29.步骤104:在所述webaudio资源加载完成后,由html audio资源切换为webaudio资源继续播放所述音频文件源。
30.领域内技术人员可知,对于html audio方案,音频切换时最后一段音频会被截断,无法实现无缝过渡;也即,在使用html audio播放音乐时,会将在音频播放的最后4帧时间内播放空白音频,造成音频切换时有明显的停顿的听感。而对于webaudio方案,在完全加载之前无法播放文件,会在开始播放时有一段空白。因此,无论是采用html audio方案还是采用webaudio方案,前后两个音频在切换时中间都会给用户一段时间的停顿感,用户体验不佳。
31.而本技术方案同时使用webaudio和html audio。如果 webaudio 尚未加载完成,则使用 html audio开始播放,然后在webaudio加载完成后无缝切换到 webaudio。这样,即避免或大大缩短了webaudio资源完全加载后才播放的等待时长,同时切换到webaudio资源播放后,又避免了html audio资源播放结束时的留白时间。
32.本实施例所述音频播放方法,在需要播放音频时会加载对应的webaudio和html audio两种资源,由于html audio在接收到音频文件的部分数据时即可认为是加载完成,并开始播放,因此html audio的加载完成时间比webaudio要早,减少了用户的等待时长,同时切换到webaudio资源播放后,也避免了html audio资源播放结束时的留白时间,因此在进行下一个音频的播放时,不会给用户带来明显的音频停顿或空白感,一定程度上实现了不同音频间的“无缝切换”。
33.一个实现中,所述获得音频文件源,可以包括:获得至少两个音频文件源。则所述同时加载所述音频文件源对应的webaudio资源和html audio资源,可以包括:按照所述至少两个音频文件源的播放顺序,针对每一个音频文件源: 加载所述音频文件源对应的webaudio资源和html audio资源。
34.为了更好的理解本技术实现,下面将介绍一些相关内容以助于理解。
35.图2为本发明实施例公开的播放器播放流程示意图。结合图2所示,播放器根据音频预加载的需要,通知多个音频文件源进行加载。然后获取下一首播放的音频文件源,并进行播放。
36.图3为本发明实施例公开的音频文件源加载流程示意图。结合图3所示,音频文件源的加载和播放步骤可以包括:1、音频文件源设置自身状态为“加载中”;2、音频文件源开始加载webaudio;3、音频文件源开始加载html audio;4、音频文件源设置下一个状态为“播放”;5、如果html audio先于web audio完成加载;5.1、音频文件源设置自身状态为“播放中”;5.2、音频文件源使用html audio播放音乐;5.3、web audio完成加载;5.4、音频文件源关闭html audio,使用web audio进行播放;6、如果html audio晚于web audio完成加载;
6.1、音频文件源设置自身状态为“播放中”;6.2、音频文件源使用web audio播放音乐。
37.图4为本发明实施例公开的实现播放资源切换的流程图。结合图4所示,所述在所述webaudio资源加载完成后,由html audio资源切换为webaudio资源继续播放所述音频文件源,可以包括:步骤401:在所述webaudio资源加载完成后,确定基于html audio资源播放所述音频文件源的播放位置。
38.步骤402:从所述webaudio资源中对应所述播放位置处开始播放所述音频文件源。
39.由于html audio在接收到音频文件的部分数据时即可认为是加载完成,并开始播放,html audio的加载完成时间比webaudio要早,因此需要设计一种方法让webaudio从html audio的同一时刻进行播放。本发明的播放流程中记录音乐播放时长,在webaudio加载完成后,恢复播放进度到同一时刻。
40.图5为本发明实施例公开的webaudio与html audio的无缝播放切换流程示意图。结合图5所示,webaudio和html audio之间无缝播放切换流程包括:1、html audio开始播放;2、html audio记录当前播放进度;3、webaudio加载完成;4、webaudio将自身播放进度设置到与html audio相同的位置;5、webaudio开始播放;6、html audio停止播放。
41.上述实施例中,所述加载所述音频文件源对应的webaudio资源和html audio资源,可以包括:同时加载所述音频文件源对应的webaudio资源和html audio资源。
42.或者,所述加载所述音频文件源对应的webaudio资源和html audio资源,可以包括:在第一时间点开始加载所述音频文件源对应的html audio资源;在第二时间点开始加载所述音频文件源对应的webaudio资源,所述第二时间点晚于所述第一时间点。
43.其中,在第二时间点,对html audio资源是否已完全加载完成,本技术并不做固定限制。
44.其他实现中,在所述webaudio资源加载完成后,由html audio资源切换为webaudio资源继续播放所述音频文件源后,还包括:销毁已加载的所述音频文件源对应的html audio资源,以释放资源。
45.本实施例所述音频播放方法,音频文件源内部同时使用webaudio和html audio加载音频文件,使用htmlaudio实现立即播放音频,使用webaudio实现无缝切换的播放流程,提升了用户的使用体验感。
46.对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
47.上述本发明公开的实施例中详细描述了方法,对于本发明的方法可采用多种形式的装置实现,因此本发明还公开了一种装置,下面给出具体的实施例进行详细说明。
48.图6为本发明实施例公开的一种音频播放装置的结构示意图。参见图6所示,音频播放装置60可以包括:文件获取模块601,用于获得音频文件源。
49.资源加载模块602,用于加载所述音频文件源对应的webaudio资源和html audio资源。
50.音频播放模块603,用于基于至少部分加载完成的html audio资源实现所述音频文件源的播放。
51.播放切换模块604,用于在所述webaudio资源加载完成后,由html audio资源切换为webaudio资源继续播放所述音频文件源。
52.本实施例所述音频播放装置,在需要播放音频时会加载对应的webaudio和html audio两种资源,由于html audio在接收到音频文件的部分数据时即可认为是加载完成,并开始播放,因此html audio的加载完成时间比webaudio要早,减少了用户的等待时长,同时切换到webaudio资源播放后,也避免了html audio资源播放结束时的留白时间,因此在进行下一个音频的播放时,不会给用户带来明显的音频停顿或空白感,一定程度上实现了不同音频间的“无缝切换”。
53.一个实现中,所述播放切换模块可以包括:位置确定模块,用于在所述webaudio资源加载完成后,确定基于html audio资源播放所述音频文件源的播放位置;播放控制模块,用于从所述webaudio资源中对应所述播放位置处开始播放所述音频文件源。
54.一个实现中,所述文件获取模块具体可用于:获得至少两个音频文件源。
55.一个实现中,所述资源加载模块具体可用于:按照所述至少两个音频文件源的播放顺序,针对每一个音频文件源: 加载所述音频文件源对应的webaudio资源和html audio资源。
56.一个实现中,所述资源加载模块具体可用于:同时加载所述音频文件源对应的webaudio资源和html audio资源。
57.一个实现中,所述资源加载模块具体可用于:在第一时间点开始加载所述音频文件源对应的html audio资源;在第二时间点开始加载所述音频文件源对应的webaudio资源,所述第二时间点晚于所述第一时间点。
58.一个实现中,音频播放装置还包括:资源管理模块,用于在播放切换模块控制由html audio资源切换为webaudio资源继续播放所述音频文件源后,销毁已加载的所述音频文件源对应的html audio资源。
59.上述实施例中的所述的任意一种音频播放装置包括处理器和存储器,上述实施例中的文件获取模块、资源加载模块、音频播放模块、播放切换模块等均作为程序模块存储在存储器中,由处理器执行存储在所述存储器中的上述程序模块来实现相应的功能。
60.处理器中包含内核,由内核去存储器中调取相应的程序模块。内核可以设置一个或多个,通过调整内核参数来实现回访数据的处理。
61.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
62.在示例性实施例中,还提供了一种计算机可读存储介质,可直接加载到计算机的
内部存储器,其中含有软件代码,该计算机程序经由计算机载入并执行后能够实现上述音频播放方法任一实施例所示步骤。
63.在示例性实施例中,还提供一种计算机程序产品,可直接加载到计算机的内部存储器,其中含有软件代码,该计算机程序经由计算机载入并执行后能够实现上述所述的音频播放方法任一实施例所示步骤。
64.进一步,本发明实施例提供了一种电子设备。图7为本发明实施例公开的一种电子设备的结构示意图。参见图7所示,电子设备包括至少一个处理器701、以及与处理器连接的至少一个存储器702、总线703;其中,处理器、存储器通过总线完成相互间的通信;处理器用于调用存储器中的程序指令,以执行上述的音频播放方法。
65.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
66.还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
67.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
68.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献