CN101399691A - 移动终端的多媒体在线播放方法和装置及移动终端 - Google Patents
移动终端的多媒体在线播放方法和装置及移动终端 Download PDFInfo
- Publication number
- CN101399691A CN101399691A CNA2008101709931A CN200810170993A CN101399691A CN 101399691 A CN101399691 A CN 101399691A CN A2008101709931 A CNA2008101709931 A CN A2008101709931A CN 200810170993 A CN200810170993 A CN 200810170993A CN 101399691 A CN101399691 A CN 101399691A
- Authority
- CN
- China
- Prior art keywords
- memory field
- multimedia
- read
- progress
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Telephone Function (AREA)
Abstract
本发明公开了一种移动终端的多媒体在线播放装置和方法,还公开了一种移动终端。该装置包括:下载单元;第一内存区,用于缓冲移动终端下载的多媒体片段;第二内存区,用于导入第一内存区所缓冲的多媒体数据以供播放;进度控制单元,用于计算并控制该第二内存区的读/写指针移动进度,避免后续的写入覆盖未读取过的数据,以及,避免重新读取已经读取过的数据;环形模拟单元,用于在该第二内存区的读/写指针指向第二内存区终止位置时控制其跳回第二内存区起始位置;播放单元。通过本发明,避免了等待数据下载所产生的断点和内存切换断点,保证了多媒体的在线无缝播放,提高了用户的使用感受。
Description
技术领域
本发明涉及移动通信技术领域,尤其涉及移动终端的多媒体在线播放方法及装置,还涉及一种移动终端。
背景技术
随着移动通信技术的迅速发展,移动终端所能够支持的应用日益丰富,其中包括对多媒体在线播放的支持。
所谓多媒体在线播放,是指移动终端对无线互联网中指定的音频、视频或其结合的数据边下载边播放;由于这种在线多媒体播放技术无需预先将完整的多媒体文件下载到移动终端中,因此用户不必等待下载完成,可以随时随地的体验互联网中丰富的资源。
上述多媒体在线播放技术的实现方式主要包括:移动终端通过无线连接技术,比如GPRS(General Packet Radio Service,通用无线分组业务),将多媒体片段下载到本地移动终端,然后调用相应的多媒体播放程序接口进行播放;这样在后台不断进行片段下载,在相应的程序接口不断的播放下载完成的片段,实现多媒体的在线播放。
但是上述多媒体在线播放技术在前一次播放完成后,需要进行内存的清空和下一片段数据的写入,然后才能够开始下一次播放,也就是在两次片段播放之间会存在播放断点,因而给用户带来不良的使用感受;这种情况对于内存较小、处理能力相对较差的非智能移动终端而言,表现得尤为明显。
为了优化使用感受,目前也有部分客户端采取了两块或者多块内存来进行多媒体在线播放,即由两块或多块内存依次进行多媒体片段的下载,多媒体播放程序接口对上述内存依次加以调用和播放;这样,当第一块内存所写入的片段数据获得播放后,多媒体播放程序会直接调用第二块内存,而第一块内存自行执行清空和后续下载操作,以备多媒体播放程序遍历所有内存后的下一次调用。这种改进方案虽然能够有效避免片段播放之间由于下载等待而产生的断点,但由于多媒体播放程序需要调用不同的内存,这种内存切换也会导致播放断点的产生,同样给用户带来不良的使用感受;类似的,这种切换断点对于处理能力相对较差的非智能终端而言,表现得尤为明显。
发明内容
本发明的实施例旨在提供一种移动终端的多媒体在线播放方案,以克服内存和***性能的限制,实现多媒体的在线无缝播放,提高用户的使用感受。
为实现上述目的,本发明的实施例提供了一种移动终端的多媒体在线播放装置,包括:下载单元,用于根据第一内存区的预设大小,向服务器逐片段请求多媒体资源,该多媒体片段长度与第一内存区的预设大小相同,或者第一内存区的预设大小为该多媒体片段的整数倍;第一内存区,与下载单元连接,用于缓冲移动终端下载的多媒体片段;第二内存区,与该第一内存区连接,用于导入第一内存区所缓冲的多媒体数据以供播放;进度控制单元,与该第二内存区连接,用于计算并控制该第二内存区的读/写指针移动进度,避免后续的写入覆盖未读取过的数据,以及,避免重新读取已经读取过的数据;环形模拟单元,与该第二内存区和进度控制单元连接,用于在该第二内存区的读/写指针指向第二内存区终止位置时控制其跳回第二内存区起始位置,将该第二内存区模拟为环形内存;播放单元,与该第二内存区连接,用于将该第二内存区的多媒体数据通过多媒体程序播放接口加以播放。
较佳的,本发明的移动终端的多媒体在线播放装置还可以包括清空单元,与第二内存区以及进度控制单元连接,用于在一多媒体资源文件播放完毕后,清空第二内存区,并将读/写进度清零,以便于进度的计算和控制。
更佳的,第一内存区按照缓冲片段向第二内存区写入数据,该第二内存区的容量可以大于该第一内存区的缓冲片段长度,以使该第一内存区的缓冲片段每次整体写入到第二内存区,便于进行进度控制;其中,该缓冲片段长度可以与第一内存区的预设大小相同,或者第一内存区的预设大小可以为该缓冲片段的整数倍。
具体的,该进度控制单元可以包括:读进度计算模块,用于针对每一多媒体资源,根据该多媒体资源播放时间及播放速率计算读取总进度;写进度计算模块,用于针对每一多媒体资源,计算写入总进度;读/写进度比较模块,与该读进度计算模块及写进度计算模块连接,用于比较读取总进度和写入总进度;读进度控制模块,与读/写进度比较模块连接,用于在写入总进度和读取总进度之差到达第一预设阈值时,暂停第二内存区的读出;以及,写进度控制模块,与读/写进度比较模块连接,用于在写入总进度与读取总进度之差等于第二内存区容量,或与第二内存区容量比较达到第二预设阈值时,暂停第二内存区的写入。
其中,读进度计算模块可以包括播放定时器,用于根据播放定时器时长和播放定时器启动次数确定多媒体资源播放时间。
本发明的实施例还提供了一种移动终端,包括多媒体程序播放接口,设有如上所述的移动终端的多媒体在线播放装置。
本发明的实施例还提供了一种移动终端的多媒体在线播放方法,在移动终端中设置第一内存区和第二内存区,且第二内存区的读/写指针指向第二内存区终止位置时控制其跳回第二内存区起始位置,将该第二内存区模拟为环形内存;当移动终端向服务器请求一多媒体资源时,执行以下步骤:
步骤S1:根据第一内存区的预设大小,向服务器逐片段将所请求的多媒体资源缓冲到第一内存区中,所述多媒体片段长度与第一内存区的预设大小相同,或者第一内存区的预设大小为该多媒体片段的整数倍;
步骤S2:控制第二内存区的写指针移动进度,当后续的写入不会覆盖未读取过的数据时,将所述第一内存区中的多媒体片段写入第二内存区;
步骤S3:控制第二内存区的读指针移动进度,在不会重新读取已经读取过的数据的前提下,将第二内存区的多媒体数据通过多媒体程序播放接口加以播放。
较佳的,还包括步骤S4:当该多媒体资源文件播放完毕后,清空该第二内存区,并将读/写进度清零。
更佳的,设置第一内存区和第二内存区的步骤还包括:设置第二内存区的容量大于第一内存区的缓冲片段长度,以使该第一内存区的缓冲片段每次整体写入该第二内存区,便于进行进度控制;其中,该缓冲片段长度可以与第一内存区的预设大小相同,或者第一内存区的预设大小可以为该缓冲片段的整数倍。
其中,该步骤S2包括:识别写入总进度与读取总进读之差是否等于第二内存区容量,或与第二内存区容量比较达到第二预设阈值,是则暂停第二内存区的写入,否则将第一内存区中的缓冲片段写入第二内存区;
该步骤S3包括:识别写入总进度和读取总进度之差是否到达第一预设阈值,是则暂停第二内存区的读出,否则将第二内存区的多媒体数据通过多媒体程序播放接口加以播放;
其中,读取总进度可以根据该多媒体资源播放时间及播放速率计算。
由上述技术方案可知,本发明的实施例通过分离专门下载多媒体片段的内存和进行多媒体数据播放的内存,以及,将进行多媒体数据播放的内存模拟为环形内存,具有以下有益效果:
1、当一块内存进行多媒体数据播放时,另一块内存可以同时进行数据下载以便提供给进行多媒体数据播放的内存,因此避免了等待数据下载所产生的断点;
2、将进行多媒体数据播放的内存模拟为环形内存,保证了可以对同一块内存进行循环的播放操作,避免了内存切换断点的产生;
3、播放断点的避免,保证了多媒体的在线无缝播放,提高了用户的使用感受。
通过以下参照附图对优选实施例的说明,本发明的上述以及其它目的、特征和优点将更加明显。
附图说明
图1为本发明所提供的移动终端的多媒体在线播放装置一实施例的框图;
图2为图1所示实施例中获取多媒体资源数据的示例;
图3为图1所示实施例中进行内存环形模拟和进度控制的应用示意图;
图4为图1所示实施例中进度控制单元一实施例的示意图;
图5为本发明所提供的移动终端的多媒体在线播放方法一实施例的流程图。
具体实施方式
下面将详细描述本发明的具体实施例。应当注意,这里描述的实施例只用于举例说明,并不用于限制本发明。
本发明的主要构思在于分离专门下载多媒体片段的内存和进行多媒体数据播放的内存,以及,将进行多媒体数据播放的内存模拟为环形内存,从而解决多媒体在线播放断点问题,实现在内存和***受限的情况下,多媒体在线无缝播放,提高用户的使用感受。为帮助读者更好的理解本发明,下面将详细介绍本发明所提供的移动终端的多媒体在线播放方案。
首先,对本发明提供的移动终端的多媒体在线播放装置加以描述。移动终端的多媒体在线播放装置设置在移动终端之中,根据移动终端用户的实际需要执行多媒体资源的请求、下载和播放操作。
其一实施例如图1所示,该移动终端的多媒体在线播放装置100包括:
下载单元110,基于移动终端用户输入的指令,向服务器请求相应的多媒体资源,并接收服务器返回的多媒体资源数据;
具体的,请结合图2,显示了下载单元110实现多媒体资源数据的获取的过程:下载单元110根据移动终端用户的指令,通过HTTP协议组装/解析模块来组装HTTP请求报文,通过SOCKET通讯模块发送给服务器;服务器解析该HTTP请求报文,并返回所请求的多媒体资源数据;该多媒体资源数据被SOCKET通讯模块接收,并通过HTTP协议组装/解析模块解析,然后由下载单元发送给第一内存区120进行缓存;由于这一多媒体资源数据的获取过程属于现有技术,因此不再赘述;
由于移动终端内存有限,特别是非智能移动终端的内存很小,因此下载单元110需要根据第一内存区120的预设大小,向服务器逐片段请求多媒体资源;可选的,该多媒体片段可以与第一内存区120的预设大小相同,也就是说,当第一内存区120清空后,才进行下一多媒体片段的请求;或者,第一内存区120的预设大小可以是该多媒体片段的整数倍,每当空出一个多媒体片段大小的空间时,就进行下一多媒体片段的请求;为了避免频繁的服务器申请,优选方案为多媒体片段可以与第一内存区的预设大小相同。
进一步的,该移动终端的多媒体在线播放装置100还包括:
第一内存区120,与下载单元110连接,用于缓冲移动终端下载的多媒体片段;
第二内存区130,与该第一内存区120连接,用于导入第一内存区所缓冲的多媒体数据以供播放;
显然,第一内存区120和第二内存区130相当于对现有的同时进行数据下载和多媒体播放的一块内存进行了功能分离,由第一内存区120专门进行多媒体数据的缓存,而第二内存区130则用于支持多媒体数据的播放;这样,当第一内存区120向第二内存区130写入了部分或全部数据之后,就可以继续请求后续多媒体片段的下载,与此同时,第二内存区进行已下载多媒体数据的播放,也就是播放和下载同步进行,从而有效避免了第二内存区130由于等待后续多媒体片段的下载而产生的播放断点;
需要指出,由于移动终端特别是非智能移动终端的内存有限,往往不能提供大块内存专门进行下载或者播放,因此本发明所提供的第一内存区120和第二内存区130都可以采用共享内存复用来获得。
再进一步的,该移动终端的多媒体在线播放装置100还包括:
进度控制单元140,与该第二内存区130连接,用于计算并控制该第二内存区的读/写指针移动进度,避免后续的写入覆盖未读取过的数据,以及,避免重新读取已经读取过的数据,实现数据写入进度和播放进度的管理;
以及,
环形模拟单元150,与该第二内存区130和进度控制单元140连接,用于在该第二内存区130的读/写指针指向第二内存区终止位置时控制其跳回第二内存区起始位置,将该第二内存区模拟为环形内存,保证了可以对同一块内存进行循环的播放操作,避免了内存切换断点的产生;
上述进行内存环形模拟和进度控制的应用如图3所示。
之所以要进行内存的环状模拟,是由于现有的移动终端,特别是非智能移动终端所提供的都是块状内存,无法保证数据的连续刷新写入;通过环形模拟单元150的引入,通过读/写指针的强制跳回操作,将块状内存在功能上模拟为环状内存,以保证持续的数据写入和播放,避免内存播放完毕进行内存切换时断点的产生;
进一步的,上述的进度控制单元140和环形模拟单元150的引入是相辅相成的:由于内存的读/写指针都相当于环形运动,这就导致了数据写入进度和播放进度彼此覆盖的可能性;如果写入过快,写指针会超过读指针的进度,即后续的写入覆盖未读取过的数据,或者,如果读取过快,读指针会超过写指针的进度,即后续的读出内容将是已读取过的数据;为了避免上述环形内存所导致的问题,需要进度控制单元140来执行进度的控制,进行环形内存的读写保护;同时,环形内存的模拟也需要根据进度控制单元140来判断。
具体来说,进度控制单元140一实施例如图4所示,包括:
读进度计算模块141,用于针对每一多媒体资源,根据该多媒体资源播放时间及播放速率计算读取总进度;
也就是说,读进度计算模块141对于每一个多媒体资源计算其总的读取进度,比如对于一个总大小为5M的多媒体资源来说,如果每次请求200K的片段,那么读进度计算模块141所记录的是相对于5M的播放进度,比如已播放2.8M,这样便于总体掌控;
写进度计算模块142,用于针对每一多媒体资源计算写入总进度;具体的计算方式可以通过对第一内存区120的写入情况进行累加实现;
与读进度计算模块141类似,写进度计算模块142所计算的,也是相对于整个多媒体资源的写入进度;
读/写进度比较模块143,与读进度计算模块141及写进度计算模块142连接,用于比较读取总进度和写入总进度;
读进度控制模块144,与读/写进度比较模块143连接,用于在写入总进度和读取总进度之差到达预设阈值时,暂停第二内存区130的读出;
本领域技术人员可以理解,写入总进度必然要快于读取总进度,否则会造成对已读出数据的重复读取,读进度控制模块144就用于掌控该读取总进度。一般的,该第一预设阈值可以由多媒体在线播放装置100的厂家根据实际需要设置,可以设置为当读取总进度等于写入总进度时暂停第二内存区130的读出,当然,为了安全起见,也可以设置为当读取总进度小于写入总进度且该差值达到第一预设阈值时就暂停第二内存区130的读出,以一个容量为200K的第二内存区130为例,可以设置当读取总进度距写入总进度为10K时,就暂停第二内存区130的读出,此时第一预设阈值为10K。
写进度控制模块145,与读/写进度比较模块143连接,用于在写入总进度与读取总进读之差等于第二内存区130容量,或与第二内存区130容量比较达到第二预设阈值时,暂停第二内存区130的写入;
本领域技术人员同样可以理解,写入总进度虽然要快过读取总进度,但对于环形内存而言,如果写入总进度过快,其与读取总进度的差值到达了环形内存总体容量的时候,就会造成对未读取数据的覆盖;为了避免这一问题,写进度控制模块145被用来进行写入总进度的掌控。一般的,该第二预设阈值可以由多媒体在线播放装置100的厂家根据实际需要设置,可以设置为当写入总进度与读取总进度之差等于第二内存区130的容量时,暂停写入;但在实际应用中,第一内存区120的数据往往并非以逐个字节的形式写入第二内存区130,而是一个缓冲片段一个缓冲片段的写入,这种情况下,为了安全起见,也可以设置为当该差值与第二内存区130容量比较达到第二预设阈值时就暂停第二内存区130的写入,该第二预设阈值往往等于或大于写入该第二内存区130的缓冲片段大小。以一个容量为200K的第二内存区130为例,如果每次写入的缓冲片段大小为50K,那么当写入总进度与读取总进度之差等于150K或者到达小于150K的某个值时,就要暂停写入,否则后续写入的数据有可能部分覆盖未曾读取的数据。
其中,读进度计算模块141可以包括播放定时器(图中未示),用于根据播放定时器时长和播放定时器启动次数确定多媒体资源播放时间,从而基于播放定时器计算读取总进度,实现定时播放管理。
相应于本发明提供的进度控制单元140,环形模拟单元150根据进度控制单元140的进度控制实现环形模拟具体为:根据第二内存区130的长度和读/写进度确定是否第二内存区130已满,即读/写指针是否指向第二内存区终止位置,是则强制读/写指针跳回内存起始位置。
更进一步的,该移动终端的多媒体在线播放装置100还包括:
播放单元160,与第二内存区130连接,用于将第二内存区130的多媒体数据通过多媒体程序播放接口加以播放;这样第一内存区120一旦写入相应片段的数据到第二内存区130,就去请求下一片段所需数据,循环直到播放结束。
可以看出,上述提供的移动终端的多媒体在线播放装置100通过模拟环形内存以及进行播放进度管理,能够实现移动终端尤其是非智能移动终端在内存和***受限情况下,基于无线互联网的多媒体在线无缝播放,提高了用户的使用感受,填补了市场空白。
对于上述实施例而言,虽然对于每一多媒体资源文件都单独进行进度控制,但该多媒体资源文件下载之初第二内存区130的读/写指针虽然会指向同一位置,但却不一定指向初始位置;也就是说,后一多媒体资源文件往往是边下载边覆盖在先的多媒体资源文件。这也就意味着,进行多媒体资源文件的进度控制时,需要考虑前一多媒体文件播放结束后,第二内存区130内读/写指针的位置。
作为一个改进的方案,本发明所提供的移动终端的多媒体在线播放装置100可进一步包括清空单元170,与第二内存区130以及进度控制单元140连接,用于在一多媒体资源文件播放完毕后,清空第二内存区,并将读/写进度清零,也就是读/写指针将重新指向第二内存区130的起始位置,便于进行进度控制和指针强制跳回的判断。
在上述提供的移动终端的多媒体在线播放装置100中,并未限定第一内存区120向第二内存区130进行数据写入的方式,即第一内存区120可以在第二内存区130允许写入时随时以字节为单位将缓冲的多媒体数据写入第二内存区130,当相应空出的空间足以支持下一次的多媒体片段请求时,继续通过下载单元110进行下一次下载请求。
在上述情况下,要进行第二内存区130的写入进度控制,必须保持对第一内存区120持续的写入监测,技术上不易实现,一般非智能移动终端也很能满足由此所需的***开销。
因此,作为另一个改进方案,第一内存区120可以以缓冲片段的方式逐片段的向第二内存区130写入多媒体数据,其中,第二内存区130的容量可以大于第一内存区120的缓冲片段长度,以使第一内存区120的缓冲片段每次整体写入第二内存区130;其中,缓冲片段长度与第一内存区的预设大小相同,或者第一内存区的预设大小为该缓冲片段的整数倍。
举例来说,当第一内存区120的容量为30K,第二内存区130的容量为100K,缓冲片段长度也为30K时,如果第二内存区130允许写入,那么第一内存区120是一次性写入30K的数据,此时,该第一内存区120相应清空,则下载单元110可以继续向服务器申请下一个多媒体片段。
这种情况下,进度控制单元140中写进度计算模块142可以方便的进行写入进度计算,具体方案为:根据第一内存区120每次写入第二内存区130的缓冲片段长度及第一内存区120的写入次数计算写入总进度。
相应的,本发明还提供了一种移动终端,其设有多媒体程序播放接口,还设有上述的移动终端的多媒体在线播放装置,用户可以通过这样的移动终端在线无缝收看多媒体内容。
下面对本发明提供的移动终端的多媒体在线播放方法加以描述,其一实施例如图5所示。
为了保证上述多媒体在线播放方法的实现,首先需要在移动终端中设置第一内存区和第二内存区,其中第一内存区用来缓存下载的多媒体片段,并在第二内存区允许写入的时候逐字节或者逐片段的将多媒体数据写入第二内存区,并在空间允许下一多媒体片段时再次进行请求,以避免多媒体资源播放过程中因为等待片段下载而导致的断点;其中,该多媒体片段可以与第一内存区的预设大小相同,当第一内存区清空后,才进行下一片段多媒体资源的请求;或者,第一内存区的预设大小可以是该多媒体片段的整数倍,每当空出一个多媒体片段大小的空间时,就进行下一片段多媒体资源的请求;为了避免频繁的服务器申请,优选方案为多媒体资源片段与第一内存区的预设大小相同;
较佳的,如果第一内存区以缓冲片段为单位向第二内存区写入多媒体数据,上述设置第一内存区和第二内存区的步骤还包括:设置该第二内存区的容量大于第一内存区向第二内存区写入的缓冲片段长度,以使该第一内存区的缓冲片段每次整体写入该第二内存区;其中,该缓冲片段长度与第一内存区的预设大小相同,或者第一内存区的预设大小为该缓冲片段的整数倍;
需要指出,上述所说的多媒体片段与缓冲片段是不同的,前者是指每次向服务器所请求的多媒体资源片段,被第一内存区所缓冲;而后者则是第一内存区缓冲数据每次写入第二内存区的数据单位;二者可以相等,也就是说每次第一内存区向第二内存区写入一个缓冲片段时,就会相应空出一定的空间,允许进行下一次的多媒体片段请求;二者也可以不相等,比如考虑到移动终端特别是非智能移动终端所能够支持的内存大小有限,有可能第二内存区难以比第一内存区大很多,则为了避免读取/写入的干扰,第一内存区可以对写入第二内存区的数据重新分段,每缓冲片段相对于多媒体片段包括较少的字节,这样,可能要多次写入第二内存区后才能允许下一次的服务器申请;
其次,要对第二内存区进行环形模拟,具体处理方式包括在第二内存区的读/写指针指向第二内存区终止位置时控制其跳回第二内存区起始位置,以使读/写可以保持在同一内存中连续进行,避免了因为内存切换产生的断点;
这样,当移动终端向服务器请求一多媒体资源时,执行以下步骤:
步骤S1:根据第一内存区的预设大小,向服务器逐片段将所请求的多媒体资源缓冲到第一内存区中;
步骤S2:控制第二内存区的写指针移动进度,当后续的写入不会覆盖未读取过的数据时,将第一内存区中的多媒体数据写入第二内存区;
具体的,要实现第二内存区的写指针移动进度控制,必须保持对第二内存区读/写指针移动进度的监控和计算;
其中,第二内存区的写指针移动进度可以通过监控第一内存区来计算,也可以在第一内存区逐缓冲片段写入第二内存区的情况下,根据第一内存区每次写入第二内存区的缓冲片段长度及第一内存区的写入次数计算写入总进度;
第二内存区的读指针移动进度可以根据该多媒体资源播放时间及播放速率计算,对于一多媒体资源而言,可以被称为读取总进度。
由于写入进度过快,可能导致后续的写入覆盖未读取过的数据,因此要进行相应的写入保护,该写入保护就是基于实际的写入总进度和读取总进度来进行的,包括:识别写入总进度与读取总进读之差是否等于第二内存区容量,或与所述第二内存区容量比较达到第二预设阈值,是则暂停第二内存区的写入,否则将所述第一内存区中的缓冲片段写入第二内存区;
简单来说,就是在向第二内存区写入数据之前都要判断是否允许写入,如果不允许就进入等待状态,直到允许写入。
步骤S3:控制第二内存区的读指针移动进度,在不会重新读取已经读取过的数据的前提下,将所述第二内存区的多媒体数据通过多媒体程序播放接口加以播放。
由于读取速度过快,可能导致对已读取数据的重复读取,因此同样要进行相应的保护,该保护同样是基于实际的写入总进度和读取总进度来进行的,包括:识别写入总进度和读取总进度之差是否到达第一预设阈值,是则暂停第二内存区的读出,否则将所述第二内存区的多媒体数据通过多媒体程序播放接口加以播放;
简单来说,就是发现下载进度无法满足播放进度,为了保证播放安全只能暂停播放进行等待,直到下载数据到位再继续进行播放。
通过上述步骤SA1~SA3可以看出,通过内存功能分离和环形内存模拟,避免了多媒体在线播放断点的产生,实现了移动终端特别是非智能移动终端的多媒体在线无缝播放,提高了用户的使用感受。
进一步的,虽然对于每一多媒体资源文件都单独进行进度控制,但该多媒体资源文件下载之初第二内存区的读/写指针虽然会指向同一位置,但却不一定指向初始位置;也就是说,后一多媒体资源文件往往是边下载边覆盖在先的多媒体资源文件。这也就意味着,进行多媒体资源文件的进度控制时,需要考虑前一多媒体文件播放结束后,第二内存区内读/写指针的位置。
因此较佳的,还包括步骤S4:当该多媒体资源文件播放完毕后,清空第二内存区,并将读/写进度清零,使第二内存区的读/写指针都指向第二内存区的起始位置,便于进行进程控制和强制跳回的判断。
虽然已参照几个典型实施例描述了本发明,但应当理解,所用的术语是说明和示例性、而非限制性的术语。由于本发明能够以多种形式具体实施而不脱离发明的精神或实质,所以应当理解,上述实施例不限于任何前述的细节,而应在随附权利要求所限定的精神和范围内广泛地解释,因此落入权利要求或其等效范围内的全部变化和改型都应为随附权利要求所涵盖。
Claims (10)
1.一种移动终端的多媒体在线播放装置,其特征在于,包括:
下载单元,用于根据第一内存区的预设大小,向服务器逐片段请求多媒体资源,所述多媒体片段长度与第一内存区的预设大小相同,或者第一内存区的预设大小为该多媒体片段的整数倍;
第一内存区,与所述下载单元连接,用于缓冲移动终端下载的多媒体片段;
第二内存区,与所述第一内存区连接,用于导入第一内存区所缓冲的多媒体数据以供播放;
进度控制单元,与所述第二内存区连接,用于计算并控制所述第二内存区的读/写指针移动进度,避免后续的写入覆盖未读取过的数据,以及,避免重新读取已经读取过的数据;
环形模拟单元,与所述第二内存区和进度控制单元连接,用于在所述第二内存区的读/写指针指向第二内存区终止位置时控制其跳回第二内存区起始位置;
播放单元,与所述第二内存区连接,用于将所述第二内存区的多媒体数据通过多媒体程序播放接口加以播放。
2.根据权利要求1所述的移动终端的多媒体在线播放装置,其特征在于,还包括清空单元,与所述第二内存区以及进度控制单元连接,用于在一多媒体资源文件播放完毕后,清空所述第二内存区,并将读/写进度清零。
3.根据权利要求1所述的移动终端的多媒体在线播放装置,其特征在于,所述第二内存区的容量大于所述第一内存区的缓冲片段长度,以使所述第一内存区的缓冲片段每次整体写入所述第二内存区;其中,所述缓冲片段长度与第一内存区的预设大小相同,或者第一内存区的预设大小为该缓冲片段的整数倍。
4.根据权利要求1-3任一所述的移动终端的多媒体在线播放装置,其特征在于,所述进度控制单元包括:
读进度计算模块,用于针对每一多媒体资源,根据该多媒体资源播放时间及播放速率计算读取总进度;
写进度计算模块,用于针对每一多媒体资源,计算写入总进度;
读/写进度比较模块,与所述读进度计算模块及所述写进度计算模块连接,用于比较所述读取总进度和写入总进度;
读进度控制模块,与所述读/写进度比较模块连接,用于在写入总进度和读取总进度之差到达第一预设阈值时,暂停第二内存区的读出;
以及
写进度控制模块,与所述读/写进度比较模块连接,用于在写入总进度与读取总进读之差等于所述第二内存区容量,或与所述第二内存区容量比较达到第二预设阈值时,暂停第二内存区的写入。
5.根据权利要求4所述的移动终端的多媒体在线播放装置,其特征在于,所述读进度计算模块包括播放定时器,用于根据播放定时器时长和播放定时器启动次数确定多媒体资源播放时间。
6.一种移动终端,包括多媒体程序播放接口,其特征在于,设有如权利要求1-5任一所述的移动终端的多媒体在线播放装置。
7.一种移动终端的多媒体在线播放方法,其特征在于,在所述移动终端中设置第一内存区和第二内存区,且所述第二内存区的读/写指针指向第二内存区终止位置时控制其跳回第二内存区起始位置;当移动终端向服务器请求一多媒体资源时,执行以下步骤:
步骤S1:根据第一内存区的预设大小,向服务器逐片段将所请求的多媒体资源缓冲到第一内存区中,所述多媒体片段长度与第一内存区的预设大小相同,或者第一内存区的预设大小为该多媒体片段的整数倍;
步骤S2:控制第二内存区的写指针移动进度,当后续的写入不会覆盖未读取过的数据时,将所述第一内存区中的多媒体数据写入所述第二内存区;
步骤S3:控制第二内存区的读指针移动进度,在不会重新读取已经读取过的数据的前提下,将所述第二内存区的多媒体数据通过多媒体程序播放接口加以播放。
8.根据权利要求7所述的移动终端的多媒体在线播放方法,其特征在于,还包括步骤S4:当该多媒体资源文件播放完毕后,清空所述第二内存区,并将读/写进度清零。
9.根据权利要求7所述所述的移动终端的多媒体在线播放方法,其特征在于,所述设置第一内存区和第二内存区的步骤还包括:设置所述第二内存区的容量大于所述第一内存区的缓冲片段长度,以使所述第一内存区的缓冲片段每次整体写入所述第二内存区;其中,所述缓冲片段长度与第一内存区的预设大小相同,或者第一内存区的预设大小为该缓冲片段的整数倍。
10.根据权利要求7-9任一所述的移动终端的多媒体在线播放方法,其特征在于,所述步骤S2包括:识别写入总进度与读取总进读之差是否等于所述第二内存区容量,或与所述第二内存区容量比较达到第二预设阈值,是则暂停第二内存区的写入,否则将所述第一内存区中的缓冲片段写入所述第二内存区;
所述步骤S3包括:识别写入总进度和读取总进度之差是否到达第一预设阈值,是则暂停第二内存区的读出,否则将所述第二内存区的多媒体数据通过多媒体程序播放接口加以播放;
其中,读取总进度根据该多媒体资源播放时间及播放速率计算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101709931A CN101399691B (zh) | 2008-10-21 | 2008-10-21 | 移动终端的多媒体在线播放方法和装置及移动终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101709931A CN101399691B (zh) | 2008-10-21 | 2008-10-21 | 移动终端的多媒体在线播放方法和装置及移动终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101399691A true CN101399691A (zh) | 2009-04-01 |
CN101399691B CN101399691B (zh) | 2011-09-07 |
Family
ID=40517971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101709931A Active CN101399691B (zh) | 2008-10-21 | 2008-10-21 | 移动终端的多媒体在线播放方法和装置及移动终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101399691B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102708207A (zh) * | 2012-05-23 | 2012-10-03 | 深圳市龙视传媒有限公司 | 一种接收处理数据的方法、装置及视频服务器 |
CN103365782A (zh) * | 2012-03-30 | 2013-10-23 | 上海申通地铁集团有限公司 | 内存管理方法 |
CN103716706A (zh) * | 2013-12-06 | 2014-04-09 | 乐视致新电子科技(天津)有限公司 | 一种多媒体文件播放进度与显示进度同步的方法及装置 |
CN103974013A (zh) * | 2013-01-24 | 2014-08-06 | 杭州海康威视数字技术股份有限公司 | 进行视频录像回放的方法及视频录像设备 |
CN104301797A (zh) * | 2014-10-14 | 2015-01-21 | 百度在线网络技术(北京)有限公司 | 在移动终端浏览器中控制播放资源的方法及装置 |
CN104811789A (zh) * | 2014-01-24 | 2015-07-29 | 宇龙计算机通信科技(深圳)有限公司 | 多媒体文件的管理方法和装置 |
CN105338022A (zh) * | 2014-07-07 | 2016-02-17 | 深圳市云帆世纪科技有限公司 | 基于p2p的数据传输方法及*** |
CN109429076A (zh) * | 2017-08-31 | 2019-03-05 | 杭州海康威视***技术有限公司 | 多媒体数据的播放卡顿处理方法以及装置 |
CN109889656A (zh) * | 2018-12-29 | 2019-06-14 | 深圳豪客互联网有限公司 | 一种数据读取方法、装置、设备及存储介质 |
CN111327941A (zh) * | 2020-03-10 | 2020-06-23 | 腾讯科技(深圳)有限公司 | 一种离线视频播放方法、装置、设备及介质 |
CN111966498A (zh) * | 2020-08-27 | 2020-11-20 | 南京电研电力自动化股份有限公司 | 一种配电房物联网网关数据快速处理方法、***及存储介质 |
CN113848454A (zh) * | 2021-09-09 | 2021-12-28 | 海光信息技术股份有限公司 | 一种芯片测试方法及芯片测试机 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1370009A (zh) * | 2001-02-13 | 2002-09-18 | 上海大正(集团)有限公司 | 在有线电视单向网上实现视频随选点播的***及点播方法 |
CN101127989A (zh) * | 2007-09-11 | 2008-02-20 | 中兴通讯股份有限公司 | 一种支持手机超文本传输流媒体业务的方法 |
-
2008
- 2008-10-21 CN CN2008101709931A patent/CN101399691B/zh active Active
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103365782A (zh) * | 2012-03-30 | 2013-10-23 | 上海申通地铁集团有限公司 | 内存管理方法 |
CN102708207B (zh) * | 2012-05-23 | 2015-06-03 | 深圳市同洲电子股份有限公司 | 一种接收处理数据的方法、装置及视频服务器 |
CN102708207A (zh) * | 2012-05-23 | 2012-10-03 | 深圳市龙视传媒有限公司 | 一种接收处理数据的方法、装置及视频服务器 |
CN103974013A (zh) * | 2013-01-24 | 2014-08-06 | 杭州海康威视数字技术股份有限公司 | 进行视频录像回放的方法及视频录像设备 |
CN103716706A (zh) * | 2013-12-06 | 2014-04-09 | 乐视致新电子科技(天津)有限公司 | 一种多媒体文件播放进度与显示进度同步的方法及装置 |
CN104811789A (zh) * | 2014-01-24 | 2015-07-29 | 宇龙计算机通信科技(深圳)有限公司 | 多媒体文件的管理方法和装置 |
CN104811789B (zh) * | 2014-01-24 | 2019-03-22 | 宇龙计算机通信科技(深圳)有限公司 | 多媒体文件的管理方法和装置 |
CN105338022B (zh) * | 2014-07-07 | 2019-04-23 | 深圳市云帆世纪科技有限公司 | 基于p2p的数据传输方法及*** |
CN105338022A (zh) * | 2014-07-07 | 2016-02-17 | 深圳市云帆世纪科技有限公司 | 基于p2p的数据传输方法及*** |
CN104301797A (zh) * | 2014-10-14 | 2015-01-21 | 百度在线网络技术(北京)有限公司 | 在移动终端浏览器中控制播放资源的方法及装置 |
CN109429076A (zh) * | 2017-08-31 | 2019-03-05 | 杭州海康威视***技术有限公司 | 多媒体数据的播放卡顿处理方法以及装置 |
CN109889656A (zh) * | 2018-12-29 | 2019-06-14 | 深圳豪客互联网有限公司 | 一种数据读取方法、装置、设备及存储介质 |
CN109889656B (zh) * | 2018-12-29 | 2021-04-20 | 深圳Tcl新技术有限公司 | 一种数据读取方法、装置、设备及存储介质 |
CN111327941A (zh) * | 2020-03-10 | 2020-06-23 | 腾讯科技(深圳)有限公司 | 一种离线视频播放方法、装置、设备及介质 |
CN111327941B (zh) * | 2020-03-10 | 2022-07-08 | 腾讯科技(深圳)有限公司 | 一种离线视频播放方法、装置、设备及介质 |
CN111966498A (zh) * | 2020-08-27 | 2020-11-20 | 南京电研电力自动化股份有限公司 | 一种配电房物联网网关数据快速处理方法、***及存储介质 |
CN111966498B (zh) * | 2020-08-27 | 2023-08-25 | 南京电研电力自动化股份有限公司 | 一种配电房物联网网关数据快速处理方法、***及存储介质 |
CN113848454A (zh) * | 2021-09-09 | 2021-12-28 | 海光信息技术股份有限公司 | 一种芯片测试方法及芯片测试机 |
Also Published As
Publication number | Publication date |
---|---|
CN101399691B (zh) | 2011-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101399691B (zh) | 移动终端的多媒体在线播放方法和装置及移动终端 | |
US8615630B2 (en) | Systems and methods for managing data storage | |
US9973806B2 (en) | Method and an electronic device for playback of video | |
CN101127989A (zh) | 一种支持手机超文本传输流媒体业务的方法 | |
CN103596059A (zh) | 智能电视媒体播放器及其播放进度调整方法、智能电视 | |
CN112839238B (zh) | 投屏播放方法、装置和存储介质 | |
CN103533437A (zh) | 一种智能电视的频道切换方法及装置 | |
CN1980377A (zh) | 一种智能插播素材的方法 | |
CN101540826A (zh) | 一种应用于电视机的多媒体装置及一种电视机 | |
KR20070020727A (ko) | 순차 조각 다운로드 방식을 이용한 의사 스트리밍 다운로드기능을 가지는 단말기 및 그 방법 | |
CA2908718C (en) | System and method for streaming a media file from a server to a client device | |
CN102137279A (zh) | 一种实现便捷式电子设备在线视频掉线续播的方法 | |
US9055272B2 (en) | Moving image reproduction apparatus, information processing apparatus, and moving image reproduction method | |
CN1972441A (zh) | 流媒体存储及服务的方法 | |
CN114501134B (zh) | 一种iOS跨页面视频播放方法、装置、设备及存储介质 | |
CN108055554A (zh) | 视频播放方法、电视、服务器及计算机可读存储介质 | |
KR20090001707A (ko) | 멀티미디어 컨텐츠 재생방법 및 시스템과 멀티미디어컨텐츠 재생장치와 프로그램 기록매체 | |
CN105025343A (zh) | 一种ts视频的缓存方法及装置 | |
CN100405340C (zh) | 流数据处理装置 | |
CN103945260A (zh) | 一种流媒体点播编辑***及点播方法 | |
JPH09130749A (ja) | 動画像データの復号方式 | |
JP2003209823A (ja) | ストリーム送受信システムおよびストリーム送受信方法 | |
KR20150005576A (ko) | 컨텐츠 다운로드를 위한 시스템 및 방법 | |
CN107484040A (zh) | 一种实现网络加速的方法 | |
CN104703024A (zh) | 一种视频播放的方法及终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20181011 Address after: 100044 02, 10 floor, Tengda building, 168 West Gate Street, Haidian District, Beijing. Patentee after: Beijing new sharp Internet Technology Co., Ltd. Address before: 100176 C207 room 14, Zhonghe street, Beijing economic and Technological Development Zone, Beijing Patentee before: Beijing Shanlian Interactive Network Technology Co., Ltd. |