一种流媒体文件播放方法、系统及播放器技术方案

技术编号:7502564 阅读:268 留言:0更新日期:2012-07-11 02:42
本发明专利技术适用于计算机技术领域,提供了一种流媒体文件播放方法、系统及播放器,包括:接收流媒体数据播放请求,根据所述流媒体数据播放请求在已播放地址队列中查找请求的流媒体数据的数据地址;当在已播放地址队列中查找到数据地址时,在已播放地址队列中获取流媒体数据对应的缓存区内存块地址;在与缓存区内存块地址对应的内存块中获取流媒体数据,播放该流媒体数据,并将所述缓存区内存地址保存到所述已播放地址队列。在本发明专利技术中,已播放的流媒体数据的内存块不立即删除,仍然保留在缓存区中,以用于响应再次接收到的播放该流媒体数据的播放请求,从而通过优化流媒体数据的缓存机制,有效提高流媒体播放请求的响应时间以及播放的流畅度。

【技术实现步骤摘要】

本专利技术属于计算机
,尤其涉及一种流媒体文件播放方法、系统及播放器
技术介绍
流媒体是指采用流式传输的方式在Internet/Intranet播放的媒体格式,如音频、视频或多媒体文件。流媒体在播放前并不下载整个文件,只将开始部分内容存入内存, 在计算机中对数据包进行缓存并使媒体数据正确地输出。目前,在播放流媒体时,通常是通过固定分配一块缓冲区,并定义一个读指针和写指针,一边从缓冲区里读数据,一边往缓冲区里写数据。当读指针追赶上写指针后,则停止读数据并等待写数据,而当写指针追赶上读指针的时候,则停止写数据并等待读数据,从而实现流媒体的播放。另外,也可以通过将固定的缓冲区划分为相同大小的数据块,以数组或对列的方式一边写数据,一边写数据,读完毕后将数据块还回队列。然而,无论采用上述哪种方式,当客户端再次请求播放这些流媒体数据时,都需要从服务器上再次获取该流媒体数据,导致用户命令的响应时间被延长,降低了流媒体播放的流畅度。
技术实现思路
本专利技术实施例的目的在于提供一种流媒体文件播放方法,旨在解决由于现有技术无法提供一种有效的流媒体文件播放方法,导致在请求已播放流媒体数据时因要重新下载流媒体数据而延长响应时间,流媒体播放的流畅度降低的问题。本专利技术实施例是这样实现的,一种流媒体文件播放方法,所述方法包括下述步骤接收流媒体数据播放请求,根据所述流媒体数据播放请求在已播放地址队列中查找请求的流媒体数据的数据地址;当在已播放地址队列中查找到所述数据地址时,在所述已播放地址队列中获取所述流媒体数据对应的缓存区内存块地址;在与所述缓存区内存块地址对应的内存块中获取所述流媒体数据,播放所述流媒体数据。本专利技术实施例的另一目的在于提供流媒体文件播放系统,所述系统包括第一地址查找单元,用于接收流媒体数据播放请求,根据所述流媒体数据播放请求在已播放地址队列中查找请求的流媒体数据的数据地址;第一内存块地址获取单元,用于当在已播放地址队列中查找到所述数据地址时, 在所述已播放地址队列中获取所述流媒体数据对应的缓存区内存块地址;以及第一流媒体数据播放单元,用于在与所述缓存区内存块地址对应的内存块中获取所述流媒体数据,播放所述流媒体数据,并将所述缓存区内存地址保存到所述已播放地址队列。本专利技术实施例的另一目的在于提供一种包括上述流媒体文件播放系统的播放器。本专利技术实施例通过根据流媒体数据播放请求查找请求的流媒体数据的数据地址, 当在已播放地址队列查找到获取的数据地址时,在已播放地址队列中获取流媒体数据对应的缓存区内存块地址,在与缓存区内存块地址对应的内存块中获取流媒体数据,播放该流媒体数据,并将缓存区内存地址保存到已播放地址队列,从而克服了现有流媒体播放过程中需要重新下载已播放数据,导致请求的响应时间延长,流媒体播放的流畅度降低的问题, 优化了流媒体数据的缓存机制,有效地提高了流媒体播放请求的响应速度以及播放的流畅度。附图说明图1是本专利技术实施例一提供的流媒体文件播放方法的实现流程图;图2是本专利技术实施例二提供的流媒体文件播放方法的实现流程图;图3是本专利技术实施例三提供的流媒体文件播放方法的实现流程图;图4是本专利技术实施例四提供的流媒体文件播放方法的实现流程图;图5是本专利技术实施例六提供的流媒体文件播放系统的结构图;图6是本专利技术实施例七提供的流媒体文件播放系统的结构图。具体实施例方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。以下结合具体实施例对本专利技术的具体实现进行详细描述实施例一图1示出了本专利技术实施例一提供的流媒体文件播放方法的实现流程,详述如下在步骤SlOl中,接收流媒体数据播放请求,根据所述流媒体数据播放请求在已播放地址队列中查找请求的流媒体数据的数据地址。在本专利技术实施例中,流媒体数据的数据地址可以是播放请求中请求播放的流媒体数据相对前一流媒体数据块的偏移地址,或同一流媒体文件中流媒体数据块的相对地址以及其它可用于表示流媒体数据块的地址信息,此处对此不作限制。在具体实施过程中,接收到的流媒体数据的播放请求可以是用户通过拖拽播放工具条或输入播放位置、播放时间等触发生成的,此处对此同样不作限制。当获取到流媒体数据的数据地址后,在已播放地址队列中查找该数据地址。在步骤S102中,当在已播放地址队列中查找到所述数据地址时,在已播放地址队列中获取与所述流媒体数据对应的缓存区内存块地址。在本专利技术实施例中,预先分配一个队列,用于存储已播放地址,即已播放的流媒体数据在缓存区中的内存地址,在本专利技术实施例中,存储已播放的流媒体数据的内存块不立即删除,而仍然保留在缓存区中,以用于响应再次接收到的播放该流媒体数据的播放请求。 具体地,接收到流媒体数据的播放请求时,根据播放请求获取流媒体数据的数据地址,在已播放地址队列中,根据该数据地址定位存储流媒体数据对应的缓存区内存块地址的节点, 进而获取流媒体数据对应的缓存区内存块地址。在步骤S103中,在与所述缓存区内存块地址对应的内存块中获取所述流媒体数据,播放该流媒体数据,并将所述缓存区内存地址保存到所述已播放地址队列。在具体实施过程中,首先从已播放地址队列中获取请求的数据地址,此时的数据地址遵守队列先进先出的原则,从队首依次出队,放入到未播放地址队列的队尾,即进行入队,直到请求的数据地址(队列元素)全部放入到未播放地址队列,最后从未播放地址队列的队首进行出队操作,播放出队的数据地址对应的多媒体数据。本专利技术实施例中,已播放的流媒体数据的内存块不立即删除,仍然保留在缓存区中,并预先分配一队列用于存储已播放流媒体数据在缓存区中的内存块地址,以用于响应再次接收到的播放该流媒体数据的播放请求,从而通过优化流媒体数据的缓存机制,有效提高流媒体播放请求的响应时间以及播放的流畅度。实施例二 图2示出了本专利技术实施例二提供的流媒体文件播放方法的实现流程,详述如下在步骤S201中,接收流媒体数据播放请求,并根据所述播放请求在已播放地址队列中查找请求的流媒体数据的数据地址。在本专利技术实施例中,流媒体数据的数据地址可以是播放请求中请求播放的流媒体数据相对前一流媒体数据块的偏移地址,或同一流媒体文件中流媒体数据块的相对地址以及其它可用于表示流媒体数据块的地址信息,此处对此不作限制。在具体实施过程中,接收到的流媒体数据的播放请求可以是用户通过拖拽播放工具条或输入播放位置、播放时间等触发生成的,此处对此同样不作限制。当获取到流媒体数据的数据地址后,在已播放地址队列中查找该数据地址。在步骤S202中,判断是否在已播放地址队列中查找到请求的流媒体数据的数据地址,是则执行步骤S203,否则执行步骤S205。在步骤S203中,在已播放地址队列中获取流媒体数据对应的缓存区内存块地址, 接着转到步骤S204。在本专利技术实施例中,当在已播放地址队列查找到所述数据地址时,在已播放地址队列中获取流媒体数据对应的缓存区内存块地址。在步骤S204中,在与缓存区内存块地址对应的内存块中获取流媒体数据,播放该流媒体数据,并将所述缓存区内存地址保存到所述已播放地址队列,本实施例中,根据所述缓存区内存块地址去获取流媒体数据,播放所述流媒体数据,之后本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:张世虎朱二龙陶婷
申请(专利权)人:TCL集团股份有限公司
类型:发明
国别省市:

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

1
相关领域技术