播放控制方法及媒体播放器、计算机可读存储介质技术

技术编号:14200319 阅读:104 留言:0更新日期:2016-12-17 13:35
本申请公开了一种播放控制方法及媒体播放器。该方法包括:当媒体播放器准备切换到一播放效果时,复制已写入缓冲区中的待播放媒体数据,得到第一媒体数据;根据预先设置的延迟长度确定第一媒体数据中尚未播放的媒体数据;根据播放效果对尚未播放的媒体数据进行处理,得到处理后的第二媒体数据;及,将第二媒体数据写入缓冲区并进行播放。利用这些技术方案,能够降低切换播放效果时的播放时延,提高媒体播放器的资源利用率。

【技术实现步骤摘要】

本申请涉及媒体播放
,尤其涉及一种播放控制方法及媒体播放器。
技术介绍
为了满足用户的媒体播放需求,可以在用户终端上安装各种媒体播放器,用于播放诸如音频、视频等媒体文件。在播放过程中,媒体播放器从缓冲区中读取媒体数据进行播放。通常情况下,对于已存入缓冲区的媒体数据是无法进行改动的。当需要切换待播放媒体数据的播放效果时,无法对缓冲区内的媒体数据进行处理。例如,播放缓冲区内媒体数据的时长为1秒,那么当切换播放效果时,需要等待1秒左右的时长将缓冲区内的数据播放完毕后,才能切换到想要的播放效果。因此,降低了媒体播放器的资源利用率,极大的影响了用户的体验。
技术实现思路
本专利技术提供了一种播放控制方法及媒体播放器,能够降低切换播放效果时的播放时延,提高媒体播放器的资源利用率。本专利技术的技术方案是这样实现的:本专利技术提供了一种播放控制方法,包括:当媒体播放器准备切换到一播放效果时,复制已写入缓冲区中的待播放媒体数据,得到第一媒体数据;根据预先设置的延迟长度确定所述第一媒体数据中尚未播放的媒体数据;根据所述播放效果对所述尚未播放的媒体数据进行处理,得到处理后的第二媒体数据;及,将所述第二媒体数据写入所述缓冲区并进行播放。本专利技术还提供了一种媒体播放器,包括:复制模块,用于当媒体播放器准备切换到一播放效果时,复制已写入缓冲区中的待播放媒体数据,得到第一媒体数据;数据处理模块,用于根据预先设置的延迟长度确定所述复制模块得到的第一媒体数据中尚未播放的媒体数据;根据所述播放效果对所述尚未播放的媒体数据进行处理,得到处理后的第二媒体数据;及,播放模块,用于将所述数据处理模块得到的第二媒体数据写入所述缓冲区并进行播放。本专利技术提供的播放控制方法,能够降低由于播放缓冲区内媒体数据导致的播放时延,在切换播放效果时,能够快速播放具备新的播放效果的媒体数据,提高了媒体播放器的资源利用率。附图说明图1为依据本专利技术一实施例的播放控制方法的流程示意图;图2为依据本专利技术一实施例的第二媒体数据的处理示意图;图3为依据本专利技术另一实施例的播放控制方法的流程示意图;图4a为依据本专利技术一实施例的补偿处理时延的操作示意图;图4b为依据本专利技术一实施例的第二媒体数据的处理示意图;图5为依据本专利技术又一实施例的播放控制方法的流程示意图;图6a为依据本专利技术一实施例的进行渐变处理的操作示意图;图6b为依据本专利技术一实施例的第二媒体数据的处理示意图;图7为依据本专利技术一实施例的媒体播放器的结构示意图;图8为依据本专利技术另一实施例的媒体播放器的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1为依据本专利技术一实施例的播放控制方法的流程示意图。参见图1,该方法包括:步骤101,当媒体播放器准备切换到一播放效果时,复制已写入缓冲区中的待播放媒体数据,得到第一媒体数据。媒体播放器在播放媒体数据时,通过调用操作系统的应用程序编程接口(API)首先将待播放媒体数据缓存到缓冲区。当媒体播放器准备切换到一新的播放效果时,由于已经存入缓冲区的媒体数据是无法进行处理的,在本步骤中,将已写入缓冲区中的待播放媒体数据复制出来,得到第一媒体数据。步骤102,根据预先设置的延迟长度确定第一媒体数据中尚未播放的媒体数据。考虑到媒体播放器的播放过程是连续的,在步骤101的复制和本步骤中的处理过程期间,媒体播放器一直在读取缓冲区的媒体数据进行连续播放。其中,对于已经播放掉的媒体数据,已无法进行新的播放效果的处理。因此,在本步骤中,预先设置一延迟长度T0,在该T0之内包括了所有已经播放掉的媒体数据,T0之后为尚未播放的媒体数据。图2为依据本专利技术一实施例的第二媒体数据的处理示意图。在图2中,从缓冲区中复制出的第一媒体数据为D1,D1的长度即为缓冲区的总长Tb。Tp为已经播放掉的媒体数据的长度,考虑到该Tp的估计数值存在偏差,设置的延迟长度T0大于Tp。通常,T0-Tp的数值和Tb的数值相关,位于几毫秒或者几十毫秒范围之内。在D1中从T0之后开始的媒体数据即为尚未播放的媒体数据,总长为Tb-T0,对其进行播放效果的处理后,即得到第二媒体数据D2。步骤103,根据播放效果对尚未播放的媒体数据进行处理,得到处理后的第二媒体数据。本申请中,对媒体数据进行播放效果的处理包括各种音效处理方法。例如,对尚未播放的媒体数据的音频进行数字信号处理,或者在尚未播放的媒体数据之上叠加其他音频数据,以获得各种不同的声音效果。当该媒体数据为视频数据时,将抽取其中的音频数据进行音效处理。步骤104,将第二媒体数据写入缓冲区并进行播放。完成播放效果的处理之后,将第二媒体数据写入缓冲区,然后调用系统函数读取缓冲区中的媒体数据进行播放。参见图2,第二媒体数据D2的总长为Tb-T0。在将第二媒体数据写入缓冲区时,起始位置为T0+1。此时,通过查找(SEEK)函数,在缓冲区中查找定位出该起始位置,可以直接跳过已经播放完毕、无法再处理的缓冲区数据。然后,媒体播放器顺序读取缓冲区中的媒体数据进行播放,当读取到T0+1之后的媒体数据时,新的播放效果将呈现。在本实施例中,当媒体播放器准备切换到一播放效果时,复制已写入缓冲区中的待播放媒体数据,得到第一媒体数据;根据预先设置的延迟长度确定第一媒体数据中尚未播放的媒体数据;根据播放效果对尚未播放的媒体数据进行处理,得到处理后的第二媒体数据;将第二媒体数据写入缓冲区并进行播放,使得在进行音效切换时,可以对缓冲区的一部分媒体数据进行新的音效处理,降低了由播放缓冲区内的媒体数据所导致的播放时延,而现有技术中需要播放完毕缓冲区中所有的媒体数据,这通常需要1s左右,即在等待1s左右的时长之后媒体数据才被切换到新的播放效果,因此,本实施例的方案能够减少缓冲区中未进行新音效处理的媒体数据的长度,使得用户快速体验到新音效的切换,同时提高了媒体播放器的资源利用率。考虑到对尚未播放的媒体数据进行播放效果的处理时会带来一定的处理时延,表现在第二媒体数据中则为开始一部分数据为静音数据,在末尾缺少相等长度的一部分媒体数据。这类处理时延会带来延迟噪音,反映在声音上例如为“咔哒”一声。为了补偿这部分处理时延,图3为依据本专利技术另一实施例的播放控制方法的流程示意图。参见图3,该方法包括:步骤301,当媒体播放器准备切换到一播放效果时,复制已写入缓冲区中的待播放媒体数据,得到第一媒体数据。步骤301和步骤101描述相同,在此不再赘述。下述步骤302和步骤303提供了一种补偿处理时延的操作方法。具体地,步骤302,根据预先设置的延迟长度确定第一媒体数据中尚未播放的媒体数据,在尚未播放的媒体数据之后添加预设第一数据长度的静音数据,得到第三媒体数据。图4a为依据本专利技术一实施例的补偿处理时延的操作示意图。在图4a中,在尚未播放的媒体数据之后添加第一数据长度为T1的静音数据401,将二者组合起来得到待处理的第三媒体数据D3。步骤303,根据播放效果对第三媒体数据进行处理,得到第四媒体数据,并将第四媒体数据中第一数据长度之本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/62/201610605447.html" title="播放控制方法及媒体播放器、计算机可读存储介质原文来自X技术">播放控制方法及媒体播放器、计算机可读存储介质</a>

【技术保护点】
一种播放控制方法,其特征在于,包括:当媒体播放器准备切换到一播放效果时,复制已写入缓冲区中的待播放媒体数据,得到第一媒体数据;根据预先设置的延迟长度确定所述第一媒体数据中尚未播放的媒体数据;根据所述播放效果对所述尚未播放的媒体数据进行处理,得到处理后的第二媒体数据;及,将所述第二媒体数据写入所述缓冲区并进行播放。

【技术特征摘要】
1.一种播放控制方法,其特征在于,包括:当媒体播放器准备切换到一播放效果时,复制已写入缓冲区中的待播放媒体数据,得到第一媒体数据;根据预先设置的延迟长度确定所述第一媒体数据中尚未播放的媒体数据;根据所述播放效果对所述尚未播放的媒体数据进行处理,得到处理后的第二媒体数据;及,将所述第二媒体数据写入所述缓冲区并进行播放。2.根据权利要求1所述的方法,其中,所述得到处理后的第二媒体数据包括:在所述尚未播放的媒体数据之后添加预设第一数据长度的静音数据,得到第三媒体数据;根据所述播放效果对所述第三媒体数据进行处理,得到第四媒体数据;将所述第四媒体数据中所述第一数据长度之后的媒体数据取出,得到所述第二媒体数据。3.根据权利要求2所述的方法,其中,所述将所述第二媒体数据写入所述缓冲区并进行播放包括:确定所述尚未播放的媒体数据在所述缓冲区中的起始位置;从所述起始位置开始将所述第二媒体数据写入所述缓冲区。4.根据权利要求2所述的方法,还包括:在所述第一媒体数据中从所述尚未播放的媒体数据向前确定出具有预设第二数据长度的媒体数据并进行第一渐变处理,得到第五媒体数据;其中,所述将所述第四媒体数据中所述第一数据长度之后的数据取出,得到所述第二媒体数据包括:将所述第四媒体数据中所述第一数据长度之后的数据取出,作为第六媒体数据;在所述第六媒体数据中从头开始确定出具有预设第三数据长度的媒体数据并进行第二渐变处理,将所述第五媒体数据和处理后的第六媒体数据进行拼接,得到所述第二媒体数据。5.根据权利要求4所述的方法,其中,所述将所述第二媒体数据写入所述缓冲区并进行播放包括:确定所述第五媒体数据在所述缓冲区中的起始位置;从所述起始位置开始将所述第二媒体数据写入所述缓冲区。6.根据权利要求1-5中任一项所述的方法,其中,所述根据所述播放效果对所述尚未播放的媒体数据进行处理包括:对所述尚未播放的媒体数据的音频进行数字信号处理,或者在所述尚未播放的媒体数据之上...

【专利技术属性】
技术研发人员:杨将
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1