音频播放方法、装置、电子设备及计算机存储介质转让专利

申请号 : CN201910837239.7

文献号 : CN112445932A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 林嘉成

申请人 : 阿里巴巴集团控股有限公司

摘要 :

本发明实施例提供了一种音频直播场景下的音频播放方法、装置、电子设备及计算机存储介质,其中,所述音频播放方法包括:确定接收到用户对直播音频流的暂停操作后又输入的第一播放操作,获取所述第一播放操作对应的第一系统时间;获取所述第一系统时间与第二播放操作对应的第二系统时间的时间差值;其中,所述第二播放操作为所述用户对所述直播音频流进行的首次播放操作,所述第二系统时间为所述第二播放操作对应的系统时间;根据所述时间差值,确定对所述直播音频流进行暂停后播放的时间点,并从所述时间点进行音频播放。通过本发明实施例,保证了音频直播场景中,用户暂停后又进行播放时,能够获取实时最新的音频内容。

权利要求 :

1.一种音频播放方法,包括:

确定接收到用户对直播音频流的暂停操作后又输入的第一播放操作,获取所述第一播放操作对应的第一系统时间;

获取所述第一系统时间与第二播放操作对应的第二系统时间的时间差值;其中,所述第二播放操作为所述用户对所述直播音频流进行的首次播放操作,所述第二系统时间为所述第二播放操作对应的系统时间;

根据所述时间差值,确定对所述直播音频流进行暂停后播放的时间点,并从所述时间点进行音频播放。

2.根据权利要求1所述的方法,其中,所述根据所述时间差值,确定对所述直播音频流进行暂停后播放的时间点,并从所述时间点进行音频播放,包括:获取所述直播音频流在本地的首次播放初始时间点;

将所述初始时间点与所述时间差值的和作为所述直播音频流进行暂停后播放的时间点,并从所述时间点进行音频播放。

3.根据权利要求1所述的方法,其中,所述方法还包括:在所述暂停操作至所述第一播放操作期间,在后台保持所述直播音频流的加载。

4.根据权利要求1所述的方法,其中,在所述确定接收到用户对直播音频流的暂停操作后又输入的第一播放操作之前,所述方法还包括:确定接收到所述用户对所述直播音频流的首次播放操作,将所述首次播放操作对应的系统时间保存至预定的内存变量中。

5.根据权利要求1所述的方法,其中,所述直播音频流通过网页控件进行播放。

6.根据权利要求5所述的方法,其中,在所述确定接收到用户对直播音频流的暂停操作后又输入的第一播放操作之前,所述方法还包括:通过所述网页控件对所述音频直播流对应的直播页面中的第一元素集合进行初始化,其中,所述第一元素集合不包括用于获取直播音频源的音频元素。

7.根据权利要求6所述的方法,其中,所述第一元素集合包括用于触发音频直播的界面元素。

8.根据权利要求7所述的方法,其中,在所述通过所述网页控件对所述音频直播流对应的直播页面中的第一元素集合进行初始化之后,所述方法还包括:接收所述用户对所述界面元素的触发操作,创建用于获取直播音频源的音频元素,并加载所述直播音频流。

9.根据权利要求1-8所述的方法,其中,所述方法遵循HTML5协议。

10.根据权利要求1-8所述的方法,其中,所述方法还包括:根据接收的回听触发操作,对所述时间差值对应的时间段内的音频数据进行回放处理;

或者,

根据接收的回听触发操作,对所述时间差值对应的时间段内进行了标记的音频数据进行回放处理。

11.根据权利要求1-8所述的方法,其中,所述方法还包括:将所述时间差值对应的时间段内的音频数据存储至本地或云端。

12.一种音频播放装置,包括:

第一获取模块,用于确定接收到用户对直播音频流的暂停操作后又输入的第一播放操作,获取所述第一播放操作对应的第一系统时间;

第二获取模块,用于获取所述第一系统时间与第二播放操作对应的第二系统时间的时间差值;其中,所述第二播放操作为所述用户对所述直播音频流进行的首次播放操作,所述第二系统时间为所述第二播放操作对应的系统时间;

播放模块,用于根据所述时间差值,确定对所述直播音频流进行暂停后播放的时间点,并从所述时间点进行音频播放。

13.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;

所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-11中任一项所述的音频播放方法对应的操作。

14.一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1-11中任一所述的音频播放方法。

说明书 :

音频播放方法、装置、电子设备及计算机存储介质

技术领域

[0001] 本发明实施例涉及计算机技术领域,尤其涉及一种音频直播场景下的音频播放方法、装置、电子设备及计算机存储介质。

背景技术

[0002] 音频直播是一种实时的音频播放技术,其与视频直播类似,强调实时性,不同之处在于少了图像元素只有音频。
[0003] 目前,一种音频直播的常见方式是通过浏览器本身或浏览器控件(如WEBVI EW控件等)进行音频直播。对于一般的音频直播流,如果用户暂停后,过一段时间再进行播放,默认的浏览器播放行为是从暂停时的位置继续播放,这会导致用户暂停后播放的音频内容是之前时间的音频内容,而非实时最新的音频内容。又由于处于直播过程中的音频的时长仍处于变化中,因此浏览器无法像录播的音频播放那样精准地获取并跳到指定位置。也即,通过跳转到指定位置的方式也无法实现音频直播场景下播放暂停后最新音频内容的获取。
[0004] 因此,如何在音频直播场景下,用户暂停后又进行播放时,能够获取实时最新的音频内容,避免让用户听到滞后的音频内容,成为亟待解决的问题。

发明内容

[0005] 有鉴于此,本发明实施例提供一种音频播放方案,以解决上述部分或全部问题。
[0006] 根据本发明实施例的第一方面,提供了一种音频播放方法,包括:确定接收到用户对直播音频流的暂停操作后又输入的第一播放操作,获取所述第一播放操作对应的第一系统时间;获取所述第一系统时间与第二播放操作对应的第二系统时间的时间差值;其中,所述第二播放操作为所述用户对所述直播音频流进行的首次播放操作,所述第二系统时间为所述第二播放操作对应的系统时间;根据所述时间差值,确定对所述直播音频流进行暂停后播放的时间点,并从所述时间点进行音频播放。
[0007] 根据本发明实施例的第二方面,提供了一种音频播放装置,包括:第一获取模块,用于确定接收到用户对直播音频流的暂停操作后又输入的第一播放操作,获取所述第一播放操作对应的第一系统时间;第二获取模块,用于获取所述第一系统时间与第二播放操作对应的第二系统时间的时间差值;其中,所述第二播放操作为所述用户对所述直播音频流进行的首次播放操作,所述第二系统时间为所述第二播放操作对应的系统时间;播放模块,用于根据所述时间差值,确定对所述直播音频流进行暂停后播放的时间点,并从所述时间点进行音频播放。
[0008] 根据本发明实施例的第三方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如第一方面所述的音频播放方法对应的操作。
[0009] 根据本发明实施例的第四方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的音频播放方法。
[0010] 根据本发明实施例提供的音频播放方案,针对用户在音频直播过程中先暂停之后又再次进行播放的情况,通过暂停后的播放操作对应的第一系统时间和音频直播的首次播放操作对应的第二系统时间之间的时间差值,即可确定暂停后的播放操作应该对应的时间点,进而进行再次播放。因音频直播不同于录播,无法明确确定再次播放应跳转的时间点,因此,本发明实施例提供的方案中,以直播音频流首次播放时的系统时间(即第二系统时间)为基准,以其与再次播放时的当前系统时间(即第一系统时间)的时间差值为依据,计算直播音频流的应跳转时间点,从该时间点进行直播音频的再次播放。由此,保证了音频直播场景中,用户暂停后又进行播放时,能够获取实时最新的音频内容,避免让用户听到滞后的音频内容。

附图说明

[0011] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
[0012] 图1为根据本发明实施例一的一种音频播放方法的步骤流程图;
[0013] 图2为根据本发明实施例二的一种音频播放方法的步骤流程图;
[0014] 图2A为图2所示实施例中的一种音频播放界面示意图;
[0015] 图2B为图2所示实施例中的另一种音频播放界面示意图;
[0016] 图3为图2所示实施例的一种使用场景的流程示意图;
[0017] 图4为根据本发明实施例三的一种音频播放装置的结构框图;
[0018] 图5为根据本发明实施例四的一种音频播放装置的结构框图;
[0019] 图6为根据本发明实施例五的一种电子设备的结构示意图。

具体实施方式

[0020] 为了使本领域的人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明实施例一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本发明实施例保护的范围。
[0021] 下面结合本发明实施例附图进一步说明本发明实施例具体实现。
[0022] 实施例一
[0023] 参照图1,示出了根据本发明实施例一的一种音频播放方法的步骤流程图。
[0024] 本实施例的音频播放方法包括以下步骤:
[0025] 步骤S102:确定接收到用户对直播音频流的暂停操作后又输入的第一播放操作,获取第一播放操作对应的第一系统时间。
[0026] 本发明实施例适用于音频直播过程中,暂停播放后又重新开始播放的场景,为获得准确的当前直播时间,本发明实施例中,在用户进行了重新开始播放操作,即第一播放操作时,获得该第一播放操作对应的第一系统时间。
[0027] 其中,第一系统时间可以为播放音频直播的客户端的本地当前时间,但不限于此,也可以是其它适当的基准时间,如服务器端时间,第一系统时间只须与音频直播在客户端本地首次被播放时对应的时间采用相同的时间基准即可。如,均采用客户端本地时间,或者,均采用服务器端时间,等。系统时间的具体格式可以由本领域技术人员根据实际需求适当设置,如,可以精确到分或秒或毫秒,等等。
[0028] 步骤S104:获取第一系统时间与第二播放操作对应的第二系统时间的时间差值。
[0029] 其中,第二播放操作为所述用户对直播音频流进行的首次播放操作,第二系统时间为第二播放操作对应的系统时间。如前所述,第一系统时间和第二系统时间采用相同的时间基准。
[0030] 例如,用户A通过本地客户端在2019-01-01/15:00:00对直播音频流X进行首次音频直播播放;于2019-01-01/15:17:10暂停播放;然后,又于2019-01-01/15:30:50再次开始播放直播音频流X。则,第一系统时间与第二系统时间的时间差值为00:30:50,即30分50秒。
[0031] 步骤S106:根据所述时间差值,确定对直播音频流进行暂停后播放的时间点,并从所述时间点进行音频播放。
[0032] 如前所述,基于所述时间差值,即可基本确定当前的音频直播时间点,获知音频直播进度,由此实现音频直播场景下,暂停后再播放的音频内容的实时性。
[0033] 通过本实施例,针对用户在音频直播过程中先暂停之后又再次进行播放的情况,通过暂停后的播放操作对应的第一系统时间和音频直播的首次播放操作对应的第二系统时间之间的时间差值,即可确定暂停后的播放操作应该对应的时间点,进而进行再次播放。因音频直播不同于录播,无法明确确定再次播放应跳转的时间点,因此,本实施例提供的方案中,以直播音频流首次播放时的系统时间(即第二系统时间)为基准,以其与再次播放时的当前系统时间(即第一系统时间)的时间差值为依据,计算直播音频流的应跳转时间点,从该时间点进行直播音频的再次播放。由此,保证了音频直播场景中,用户暂停后又进行播放时,能够获取实时最新的音频内容,避免让用户听到滞后的音频内容。
[0034] 本实施例的音频播放方法可以由任意适当的具有数据处理能力的电子设备执行,包括但不限于:服务器、移动终端(如平板电脑、手机等)和PC机等。
[0035] 实施例二
[0036] 参照图2,示出了根据本发明实施例二的一种音频播放方法的步骤流程图。
[0037] 本实施例的音频播放方法包括以下步骤:
[0038] 步骤S202:确定接收到用户对直播音频流的首次播放操作,将首次播放操作对应的系统时间保存至预定的内存变量中。
[0039] 其中,直播音频流的播放即音频直播的实现可以采用任意适当的方式实现,如,通过专门的直播类APP实现,或者,通过网页实现,或者,通过交互工具或平台中相应的功能实现等等。
[0040] 本实施例中,设定使用网页控件形式实现,也即,直播音频流通过网页控件进行播放,例如,通过WEBVIEW控件等进行播放。该网页控件可以嵌入在任意适当的APP或工具或平台中。一方面,网页控件具有较好的兼容性,可以嵌入到大部分目标应用中使用,由此也提高了音频直播的适用范围,便于音频直播扩散;另一方面,网页控件中具有相应的支持音频直播的元素和代码,通过网页控件,可以高效且低成本地实现音频直播。但不限于网页控件,其它实现音频直播的方式也同样适用。
[0041] 当通过网页控件实现音频直播时,首先,可以通过网页控件对音频直播流对应的直播页面中的第一元素集合进行初始化,其中,第一元素集合中不包括用于获取直播音频源的音频元素。可选地,第一元素集合可以包括用于触发音频直播的界面元素。或者,也可以认为,第一元素集合中包括除用于获取直播音频源的音频元素之外的所需元素。
[0042] 音频直播场景下,需要相应的直播页面,以与用户交互。与此同时,还需要网页控件的加载。基于此,本实施例中,使用第一元素集合进行初始化,该第一元素集合中不包括用于获取直播音频源的音频元素。也即,此种情况下,在初始化过程中,主要进行直播页面的渲染和网页控件的加载,而不进行直播音频源的获取和加载。
[0043] 以基于HTML5协议的音频直播为例,此种情况下,初始化过程可以只创建诸如音频直播按钮的UI(User Interface,用户接口)元素,不创建实际的音频元素如audio元素。当采用HTML5协议时,因其不能支持HLS(HTTP Live Streaming),因此,音频直播流一般为Content-Type为“audio/mpeg”的音频流。此外,因采用目前的HTML5协议自身提供的功能无法实现对视频直播场景的支持,因此,本申请提供了一种音频播放方案,以在无法借用视频直播场景下的播放处理的情形下,实现对音频直播场景下暂停后恢复播放时的处理。
[0044] 在上述初始化过程完成后,则可以接收用户对所述界面元素的触发操作,创建用于获取直播音频源的音频元素,并加载直播音频流。也即,只在明确确定用户的播放意图后,才创建相应的音频元素并加载直播音频流,避免了无谓的资源浪费。
[0045] 进而,不管通过何种方式实现音频直播,当接收到用户对直播音频流的首次播放操作时,将首次播放操作对应的系统时间保存至预定的内存变量中。其中,所述内存变量可以为任意适当的、可在内存中存储时间信息的变量。
[0046] 步骤S204:接收到用户对直播音频流的暂停操作。
[0047] 用户在收听音频直播的过程中,如果需要暂时中断收听,则会进行暂停操作,如点击直播页面中的暂停按钮等,以指示暂时停止音频直播。
[0048] 需要说明的是,本实施例中,虽然对于用户来说,音频直播暂停了,但可选地,可以在后台一直加载直播音频流,以保证用户要求再次播放时,可以实现无延迟的直播。
[0049] 步骤S206:确定接收到用户对直播音频流的暂停操作后又输入的第一播放操作,获取第一播放操作对应的第一系统时间。
[0050] 所述第一播放操作即用户进行了暂停播放后又触发的再次播放操作,本实施例中,系统时间采用音频直播的客户端的本地时间,以低成本且快速地实现时间记录和处理。
[0051] 因此,本步骤中,所述第一系统时间可以为第一播放操作对应的客户端的本地时间。
[0052] 步骤S208:获取第一系统时间与第二播放操作对应的第二系统时间的时间差值。
[0053] 其中,第二播放操作为用户对直播音频流进行的首次播放操作,第二系统时间为第二播放操作对应的系统时间。如前所述,第二系统时间和第一系统时间需要采用相同的时间基准,基于此,本实施例中,第二系统时间也为客户端的本地时间,即,与第二播放操作对应的客户端本地时间。
[0054] 在获取了第一系统时间和第二系统时间的基础上,即可获得两者的时间差值。
[0055] 步骤S210:根据所述时间差值,确定对直播音频流进行暂停后播放的时间点,并从所述时间点进行音频播放。
[0056] 在一种可行方式中,可以获取直播音频流在本地的首次播放初始时间点;将所述初始时间点与所述时间差值的和作为直播音频流进行暂停后播放的时间点,并从所述时间点进行音频播放。
[0057] 例如,用户在2019年01月01日15:00:00针对直播音频流首次进行了播放操作(即第二播放操作),该操作对应的第二系统时间即为15:00:00,但对于该直播音频流来说,其无法与明确的时钟信息对应,因此,为该直播音频流设置一个初始时间点,例如,将初始时间点与该直播音频流的首帧对应设置,为便于后续计算,该初始时间点可以设置为00秒。假设,用户在15:15:00进行了暂停操作,然后,又于15:20:00进行了再次播放操作(即第一播放操作),则所述时间差值为15:20:00-15:00:00=20:00。基于此,可以将暂停后播放的时间点确定为00+20:00=20:00,即从第20分钟00秒对应的音频帧开始再次音频直播。
[0058] 上述过程的音频播放界面如图2A所示,图2A中左侧界面示出了用户在15:15:00进行了暂停操作时的播放界面,图2A中右侧界面示出了该用户又于15:20:00进行了再次播放操作时的播放界面,从图2A中右侧界面可见,用于指示播放进度的播放三角直接从位置跳转到了15:20:00位置。
[0059] 如前所述,可选地,在所述暂停操作至第一播放操作期间,在后台保持直播音频流的加载,以实现无延迟的再次音频直播。基于此,在确定了第一系统时间与第二系统时间之间的时间差值后,还可以对该时间差值对应的时间段内的音频数据进行进一步的处理。例如,用户可以针对该时间段内任一时间点的音频数据,进行回听,此种情况下,用户可以发起回听触发操作,音频直播平台或应用根据接收的回听触发操作,对所述时间差值对应的时间段内的音频数据进行回放处理。或者,针对该时间段内的重要内容进行标记,用户可以直接回听该标记部分的内容,此种情况下,用户可以发起回听触发操作,音频直播平台或应用根据接收的回听触发操作,对所述时间差值对应的时间段内进行了标记的音频数据进行回放处理。或者,对该时间段内的音频数据进行存储,如存储于本地或云端等,以方便用于随时进行访问。其中,对重要内容进行标记可以由本领域技术人员根据实际情况采用任意适当的方式实现,如,可以将音频内容转换为文字内容后,进行语义分析或者关键字匹配,以确定相应的音频内容是否为符合预设条件的重要内容;若是,则进行标记等。通过上述多种方式,为用户提供了针对已播放的音频内容的更为灵活的处理手段和方式,提升了用户的体验。
[0060] 一种提供有供用户进行回听的选项界面如图2B所示,当检测到用户进行了暂停操作,则可以展示图2B所示界面,在该界面中,提供了“回听”选项和“直播”选项。默认情况下,“直播”选项被选中,当用户暂停后再次播放时,直接跳转至直播时间点即步骤S210中确定的时间点进行播放;当用户选择了“回听”选项,则根据在用户选择的时间点进行播放,如,根据用户对播放进度条中某一时间点的选择或拖拽进行播放等。
[0061] 此外,还可以为用户提供屏蔽选项,以屏蔽某些内容,如广告内容等,以为用户提供更好的收听体验。
[0062] 但不限于此,在实际应用中,也可以分时段或者分内容段间歇加载直播音频流,以在尽可能尽快响应播放的基础上节省数据流量。
[0063] 以下,以一个具体使用场景实例对上述过程进行进一步说明。
[0064] 本实例中,以基于HTML5协议实现音频直播为例,也即,本实例的音频播放方法遵循HTML5协议。HTML5是新一代的HTML标准,其提供了使用
[0065] 基于此,本实例的流程示意如图3所示,其可以包括:
[0066] 步骤A:音频直播页面初始化,只创建音频直播按钮的UI元素,不创建实际的
[0067] 步骤B:接收用户点击音频直播页面中的播放按钮触发的播放操作。
[0068] 步骤C:判断所述播放操作是否为针对直播音频的首次播放操作,若是,则执行步骤D;若否,则执行步骤E。
[0069] 步骤D:创建
[0070] 其中,
[0071] var audio=document.createElement(‘audio’)//生成一个
[0073] audio.src=‘xxxxxxx’//直播音频流路径
[0074] document.body.appendChild(audi)//把
[0075] 步骤E:计算当前时间与firstPlayTime中保存的系统时间的时间差值,得到直播音频的最新播放时间点。
[0076] 若所述播放操作不为首次操作操作,则表明之前在音频直播过程中进行过暂停操作,此种情况下,在用户再次点击播放按钮时,获取当前的系统时间即所述当前时间,与内存变量firstPlayTime中记录的系统时间相减,得到实时最新的音频直播时间点。进一步地,若该音频直播时间点的单位为秒,则可以将该音频直播时间点直接赋值给currentTime,以将其设置为直播音频流的当前播放位置;若该音频直播时间点的单位不为秒,则需将其先转换为以秒为单位,再赋值给currentTime,以将其设置为直播音频流的当前播放位置。
[0077] 步骤F:控制音频播放器恢复播放,并控制播放器跳转到所述最新播放时间点。执行步骤G。
[0078] 步骤G:正常播放音频。
[0079] 步骤H:接收到用户点击暂停按钮的操作,然后,可以接续跳转到步骤B执行。
[0080] 需要说明的是,本步骤为可选步骤,在实际应用中,也可能步骤G一直执行至音频直播结束。而若步骤H执行,则可实现对音频直播过程中,暂停后播放的有效处理。
[0081] 且,本实例中,在暂停操作后不会中断音频资源的加载过程,因此,恢复播放时只要已经缓冲到最新直播内容所在的时间点,恢复播放不会让用户有可感知的时延,用户体验较好。
[0082] 通过本实施例,针对用户在音频直播过程中先暂停之后又再次进行播放的情况,通过暂停后的播放操作对应的第一系统时间和音频直播的首次播放操作对应的第二系统时间之间的时间差值,即可确定暂停后的播放操作应该对应的时间点,进而进行再次播放。因音频直播不同于录播,无法明确确定再次播放应跳转的时间点,因此,本实施例提供的方案中,以直播音频流首次播放时的系统时间(即第二系统时间)为基准,以其与再次播放时的当前系统时间(即第一系统时间)的时间差值为依据,计算直播音频流的应跳转时间点,从该时间点进行直播音频的再次播放。由此,保证了音频直播场景中,用户暂停后又进行播放时,能够获取实时最新的音频内容,避免让用户听到滞后的音频内容。
[0083] 本实施例的音频播放方法可以由任意适当的具有数据处理能力的电子设备执行,包括但不限于:服务器、移动终端(如平板电脑、手机等)和PC机等。
[0084] 实施例三
[0085] 参照图4,示出了根据本发明实施例三的一种音频播放装置的结构框图。
[0086] 本实施例的音频播放装置包括:第一获取模块302,用于确定接收到用户对直播音频流的暂停操作后又输入的第一播放操作,获取第一播放操作对应的第一系统时间;第二获取模块304,用于获取第一系统时间与第二播放操作对应的第二系统时间的时间差值;其中,第二播放操作为所述用户对直播音频流进行的首次播放操作,第二系统时间为第二播放操作对应的系统时间;播放模块306,用于根据所述时间差值,确定对直播音频流进行暂停后播放的时间点,并从所述时间点进行音频播放。
[0087] 本实施例的音频播放装置用于实现前述多个方法实施例中相应的音频播放方法,并具有相应的方法实施例的有益效果,在此不再赘述。此外,本实施例的音频播放装置中的各个模块的功能实现均可参照前述方法实施例中的相应部分的描述,在此亦不再赘述。
[0088] 实施例四
[0089] 参照图5,示出了根据本发明实施例四的一种音频播放装置的结构框图。
[0090] 本实施例的音频播放装置包括:第一获取模块402,用于确定接收到用户对直播音频流的暂停操作后又输入的第一播放操作,获取第一播放操作对应的第一系统时间;第二获取模块404,用于获取第一系统时间与第二播放操作对应的第二系统时间的时间差值;其中,第二播放操作为所述用户对直播音频流进行的首次播放操作,第二系统时间为第二播放操作对应的系统时间;播放模块406,用于根据所述时间差值,确定对直播音频流进行暂停后播放的时间点,并从所述时间点进行音频播放。
[0091] 可选地,播放模块406,用于获取直播音频流在本地的首次播放初始时间点;将所述初始时间点与所述时间差值的和作为所述直播音频流进行暂停后播放的时间点,并从所述时间点进行音频播放。
[0092] 可选地,本实施例的音频播放装置还包括:加载模块408,用于在所述暂停操作至所述第一播放操作期间,在后台保持所述直播音频流的加载。
[0093] 可选地,本实施例的音频播放装置还包括:保存模块410,用于在所述第一获取模块402确定接收到用户对直播音频流的暂停操作后又输入的第一播放操作之前,确定接收到所述用户对所述直播音频流的首次播放操作,将所述首次播放操作对应的系统时间保存至预定的内存变量中。
[0094] 可选地,所述直播音频流通过网页控件进行播放。
[0095] 可选地,本实施例的音频播放装置还包括:初始化模块412,用于在所述第一获取模块402确定接收到用户对直播音频流的暂停操作后又输入的第一播放操作之前,通过所述网页控件对所述音频直播流对应的直播页面中的第一元素集合进行初始化,其中,所述第一元素集合不包括用于获取直播音频源的音频元素。
[0096] 可选地,所述第一元素集合包括用于触发音频直播的界面元素。
[0097] 可选地,本实施例的音频播放装置还包括:创建模块414,用于在所述初始化模块412通过所述网页控件对所述音频直播流对应的直播页面中的第一元素集合进行初始化之后,接收所述用户对所述界面元素的触发操作,创建用于获取直播音频源的音频元素,并加载所述直播音频流。
[0098] 可选地,本实施例的音频播放装置进行的音频播放处理遵循HTML5协议。
[0099] 可选地,播放模块406,可以还用于根据接收的回听触发操作,对所述时间差值对应的时间段内的音频数据进行回放处理;或者,根据接收的回听触发操作,对所述时间差值对应的时间段内进行了标记的音频数据进行回放处理。
[0100] 可选地,保存模块410,可以还用于将所述时间差值对应的时间段内的音频数据存储至本地或云端。
[0101] 本实施例的音频播放装置用于实现前述多个方法实施例中相应的音频播放方法,并具有相应的方法实施例的有益效果,在此不再赘述。此外,本实施例的音频播放装置中的各个模块的功能实现均可参照前述方法实施例中的相应部分的描述,在此亦不再赘述。
[0102] 实施例五
[0103] 参照图6,示出了根据本发明实施例五的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
[0104] 如图6所示,该电子设备可以包括:处理器(processor)502、通信接口(Communications Interface)504、存储器(memory)506、以及通信总线508。
[0105] 其中:
[0106] 处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。
[0107] 通信接口504,用于与其它电子设备如终端设备或服务器进行通信。
[0108] 处理器502,用于执行程序510,具体可以执行上述音频播放方法实施例中的相关步骤。
[0109] 具体地,程序510可以包括程序代码,该程序代码包括计算机操作指令。
[0110] 处理器502可能是中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
[0111] 存储器506,用于存放程序510。存储器506可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0112] 程序510具体可以用于使得处理器502执行以下操作:确定接收到用户对直播音频流的暂停操作后又输入的第一播放操作,获取所述第一播放操作对应的第一系统时间;获取所述第一系统时间与第二播放操作对应的第二系统时间的时间差值;其中,所述第二播放操作为所述用户对所述直播音频流进行的首次播放操作,所述第二系统时间为所述第二播放操作对应的系统时间;根据所述时间差值,确定对所述直播音频流进行暂停后播放的时间点,并从所述时间点进行音频播放。
[0113] 在一种可选的实施方式中,程序510还用于使得处理器502在根据所述时间差值,确定对所述直播音频流进行暂停后播放的时间点,并从所述时间点进行音频播放时:获取所述直播音频流在本地的首次播放初始时间点;将所述初始时间点与所述时间差值的和作为所述直播音频流进行暂停后播放的时间点,并从所述时间点进行音频播放。
[0114] 在一种可选的实施方式中,程序510还用于使得处理器502在所述暂停操作至所述第一播放操作期间,在后台保持所述直播音频流的加载。
[0115] 在一种可选的实施方式中,程序510还用于使得处理器502在所述确定接收到用户对直播音频流的暂停操作后又输入的第一播放操作之前,确定接收到所述用户对所述直播音频流的首次播放操作,将所述首次播放操作对应的系统时间保存至预定的内存变量中。
[0116] 在一种可选的实施方式中,所述直播音频流通过网页控件进行播放。
[0117] 在一种可选的实施方式中,程序510还用于使得处理器502在所述确定接收到用户对直播音频流的暂停操作后又输入的第一播放操作之前,通过所述网页控件对所述音频直播流对应的直播页面中的第一元素集合进行初始化,其中,所述第一元素集合不包括用于获取直播音频源的音频元素。
[0118] 在一种可选的实施方式中,所述第一元素集合包括用于触发音频直播的界面元素。
[0119] 在一种可选的实施方式中,程序510还用于使得处理器502在所述通过所述网页控件对所述音频直播流对应的直播页面中的第一元素集合进行初始化之后,接收所述用户对所述界面元素的触发操作,创建用于获取直播音频源的音频元素,并加载所述直播音频流。
[0120] 在一种可选的实施方式中,所述程序510遵循HTML5协议。
[0121] 在一种可选的实施方式中,程序510还用于使得处理器502根据接收的回听触发操作,对所述时间差值对应的时间段内的音频数据进行回放处理;或者,根据接收的回听触发操作,对所述时间差值对应的时间段内进行了标记的音频数据进行回放处理。
[0122] 在一种可选的实施方式中,程序510还用于使得处理器502将所述时间差值对应的时间段内的音频数据存储至本地或云端。
[0123] 程序510中各步骤的具体实现可以参见上述音频播放方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
[0124] 通过本实施例的电子设备,针对用户在音频直播过程中先暂停之后又再次进行播放的情况,通过暂停后的播放操作对应的第一系统时间和音频直播的首次播放操作对应的第二系统时间之间的时间差值,即可确定暂停后的播放操作应该对应的时间点,进而进行再次播放。因音频直播不同于录播,无法明确确定再次播放应跳转的时间点,因此,本实施例提供的方案中,以直播音频流首次播放时的系统时间(即第二系统时间)为基准,以其与再次播放时的当前系统时间(即第一系统时间)的时间差值为依据,计算直播音频流的应跳转时间点,从该时间点进行直播音频的再次播放。由此,保证了音频直播场景中,用户暂停后又进行播放时,能够获取实时最新的音频内容,避免让用户听到滞后的音频内容。
[0125] 需要指出,根据实施的需要,可将本发明实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本发明实施例的目的。
[0126] 上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的音频播放方法。此外,当通用计算机访问用于实现在此示出的音频播放方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的音频播放方法的专用计算机。
[0127] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。
[0128] 以上实施方式仅用于说明本发明实施例,而并非对本发明实施例的限制,有关技术领域的普通技术人员,在不脱离本发明实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明实施例的范畴,本发明实施例的专利保护范围应由权利要求限定。