CN106341730B - 多媒体状态的识别方法、装置及系统 - Google Patents
多媒体状态的识别方法、装置及系统 Download PDFInfo
- Publication number
- CN106341730B CN106341730B CN201510413186.8A CN201510413186A CN106341730B CN 106341730 B CN106341730 B CN 106341730B CN 201510413186 A CN201510413186 A CN 201510413186A CN 106341730 B CN106341730 B CN 106341730B
- Authority
- CN
- China
- Prior art keywords
- state
- multimedia
- buffer
- original
- message
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/4424—Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/414—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请公开了一种多媒体状态的识别方法、装置及系统。其中,该方法包括:获取多媒体的初始状态;判断初始状态是否发生状态转移;以及若初始状态发生状态转移,则根据预设的状态判断条件,确定多媒体的最终状态。通过本申请解决了现有技术中多媒体的最终播放状态识别不精确的技术问题。
Description
技术领域
本申请涉及多媒体领域,具体而言,涉及一种多媒体状态的识别方法、装置及系统。
背景技术
在进行多媒体的播放行为统计的时候,我们会关心用户有多少时间处于播放状态,在多媒体播放的整个过程中卡了几次,每次卡了多长时间。这就要求程序能够准确识别多媒体的当前状态,至少要能准确识别出正在播放、暂停播放、正在缓冲(Buffering)和正在寻址等这四个状态。除了用于播放行为的统计外,在制作多媒体用户界面时,也需要根据不同的多媒体状态来展示不同的界面元素,因此准确识别状态对于多媒体的制作本身也是很有帮助的。Adobe Flash是目前很主流的一个开发平台,它提供了NetStream这样一个组件用于让开发者实现多媒体中播放器的制作,各互联网视频的提供者几乎都是基于这个组件来制作的播放器。因此准确识别数据流采集器(Flash NetStream)所提供的播放状态就是很重要的一个需求。
现有技术中,由于Flash NetStream组件本身并不提供播放状态这样的属性,也不提供和上述播放状态相关的状态变化事件,因此判断起来比较复杂。目前多数开发者的做法是监听状态消息(在Flash NetStream中表示为:NetStatusEvent.NET_STATUS)这个事件,当收到状态消息为开始缓冲(在Flash NetStream中表示为:NetStream.Buffer.Empty)的时候认为多媒体播放器开始缓冲,当收到状态消息为缓冲结束(在Flash NetStream中表示为:NetStream.Buffer.Full)的时候就认为缓冲结束。
但是现有技术中这个方法不能知道多媒体是否处于正在播放、暂停播放或正在寻址,因为这几种情况发生的时候没有相应的事件。另外即使只用来判断是否处于缓冲状态,也是不准确的,例如多媒体播放到结束位置的时候缓冲区也会变空,也会触发NetStream.Buffer.Empty消息,但这时多媒体并不会开始缓冲。再例如当收到NetStream.Buffer.Empty之后,用户进行了暂停,然后再点播放,那么虽然缓冲区还没满(因此不会有NetStream.Buffer.Full消息),但播放器会继续进行播放,而不是处于正在缓冲。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种多媒体状态的识别方法、装置及系统,以至少解决现有技术中不能识别多媒体处于正在播放的状态、暂停播放的状态和正在寻址的状态,以及正在缓冲的状态识别不精确的技术问题。
根据本申请实施例的一个方面,提供了一种多媒体状态的识别方法,包括:获取所述多媒体的初始状态;判断所述初始状态是否发生状态转移;以及若所述初始状态发生状态转移,则根据预设的状态判断条件,确定所述多媒体的最终状态。
进一步地,在获取所述多媒体的初始状态之前,所述方法还包括:预先对所述多媒体进行状态类别的分类,其中,所述状态类别至少包含以下一种类别:寻址状态、缓冲区状态、操作意向状态。
进一步地,判断所述初始状态是否发生状态转移包括:监听所述多媒体的触发事件,得到状态响应消息,其中,一个所述触发事件包含多个状态响应消息,所述状态响应消息至少包含以下一种消息:多媒体播放完成消息、多媒体寻址消息、多媒体停止播放消息、多媒体正在播放消息;根据所述状态响应消息确定所述初始状态的转移状态。
进一步地,根据预设的状态判断条件,确定所述多媒体的最终状态包括:判断所述寻址状态是否为正在寻址;若不是所述正在寻址,则判断所述操作意向状态是否为暂停播放;若不是所述暂停播放,则判断所述缓冲区状态是否为正在缓冲;以及若不是所述正在缓冲,则确定所述最终状态为正在播放。
进一步地,根据所述状态响应消息确定所述初始状态的转移状态包括:当所述状态响应消息为所述多媒体停止播放消息时,若所述缓冲区状态为缓冲空闲,则确定所述初始状态的转移状态为所述正在缓冲;或者若所述缓冲区状态为正在清空多媒体数据,则确定所述转移状态为所述缓冲空闲;当所述状态响应消息为所述多媒体正在播放消息时,若所述缓冲区状态为所述正在缓冲,则确定所述转移状态为所述缓冲空闲;当所述状态响应消息为所述多媒体播放完成消息时,若所述缓冲区状态为所述缓冲空闲,则确定所述转移状态为所述正在清空多媒体数据;以及当所述状态响应消息为所述多媒体寻址消息时,若所述寻址状态为所述正在寻址,则确定所述转移状态为非寻址。
进一步地,判断所述初始状态是否发生状态转移还包括:执行状态处理功能,对所述初始状态进行状态处理,得到所述转移状态,其中,所述状态处理功能包含以下至少一种:多媒体重置功能、多媒体播放暂停功能、多媒体寻址功能。
进一步地,执行状态处理功能,对所述初始状态进行状态处理,得到所述转移状态包括:当执行所述多媒体重置功能时,若所述操作意向状态为暂停播放,则执行状态处理之后所述转移状态为所述正在播放;当执行所述多媒体播放暂停功能时,若所述缓冲区状态为所述正在缓冲,则执行状态处理之后所述转移状态为所述缓冲空闲;或者若所述操作意向状态为所述正在播放,则执行状态处理之后所述转移状态为所述暂停播放;以及当执行所述多媒体寻址功能时,将当前所述缓冲区状态中的状态,执行状态处理之后所述转移状态为所述正在缓冲;或者若所述寻址状态为所述非寻址,则执行状态处理之后所述转移状态为所述正在寻址。
进一步地,在根据预设的状态判断条件,确定所述多媒体的最终状态之后,所述方法还包括:更新所述多媒体的最终状态。
根据本申请实施例的另一方面,还提供了一种多媒体状态的识别装置,包括:获取单元,用于获取所述多媒体的初始状态;判断单元,用于判断所述初始状态是否发生状态转移;以及确定单元,用于若所述初始状态发生状态转移,则根据预设的状态判断条件,确定所述多媒体的最终状态。
根据本申请实施例的另一个方面,提供了一种多媒体状态的识别系统,包括:缓存器,用于获取所述多媒体的初始状态;以及处理器,用于判断所述初始状态是否发生状态转移,若所述初始状态发生状态转移,则根据预设的状态判断条件,确定所述多媒体的最终状态。
在本申请实施例中,采用获取所述多媒体的初始状态;判断所述初始状态是否发生状态转移;以及若所述初始状态发生状态转移,则根据预设的状态判断条件,确定所述多媒体的最终状态的方式。通过获取多媒体在初始时刻的初始状态,根据接收到的触发消息判断初始状态是否转移为其他的状态,如果初始状态发生了状态转移,则根据状态判断条件能够准确识别多媒体是否处于正在寻址、正在播放、暂停播放以及正在缓冲,达到了准确识别多媒体最终播放状态的目的,从而实现了准确识别播放器是否处于播放状态、暂停状态、寻址状态和缓冲状态的技术效果,进而解决了现有技术中多媒体的最终播放状态识别不精确的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种可选的多媒体状态的识别方法的流程图;
图2是本申请实施例的多媒体状态的识别方法中一种可选的初始状态发生状态转移的转移图;
图3是本申请实施例的多媒体状态的识别方法中另一种可选的初始状态发生状态转移的转移图;
图4是本申请实施例的多媒体状态的识别方法中另一种可选的初始状态发生状态转移的转移图;
图5是本申请实施例的多媒体状态的识别方法中另一种可选的初始状态发生状态转移的转移图;
图6是本申请实施例的多媒体状态的识别方法中另一种可选的初始状态发生状态转移的转移图;
图7是本申请实施例的多媒体状态的识别方法中另一种可选的初始状态发生状态转移的转移图;
图8是本申请实施例的多媒体状态的识别方法中另一种可选的初始状态发生状态转移的转移图;
图9是本申请实施例的多媒体状态的识别方法中另一种可选的初始状态发生状态转移的转移图;
图10是本申请实施例的多媒体状态的识别方法中另一种可选的初始状态发生状态转移的转移图;
图11是根据本申请实施例多媒体状态的识别方法中确定多媒体的最终状态的流程图;
图12是根据本申请实施例的一种可选的多媒体状态的识别装置的示意图;以及
图13是根据本申请实施例一种可选的多媒体状态的识别系统的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例,提供了一种多媒体状态的识别的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本申请实施例的一种可选的多媒体状态的识别方法的流程图。如图1所示,该方法包括如下步骤S102至步骤S106:
步骤S102,获取多媒体的初始状态。
根据本申请实施例中,多媒体可以是指安装在移动终端、个人电脑(PersonalComputer,PC)、电视机、音响等播放载体上的,各种类型的视频播放器、视音频播放器或者Flash播放器。进一步地,多媒体的初始状态,可以是指获取到多媒体的当前的任一状态,比如多媒体的播放状态、暂停状态、缓冲区状态、寻址状态或者用户的操作意向状态等。
下面以Flash NetStream播放组件为例,进一步说明如何获取Flash NetStream播放组件的初始状态:
首先,可以在Flash NetStream播放组件中设置相应的监听状态事件的追踪器(即,可以预设监听线程,或者可以预设触发指令等);然后,根据该追踪器的反馈的状态事件,确定多媒体当前的状态,并将当前的状态确定为多媒体的初始状态。
此处需要说明:由于现有技术中开发者只能在播放器中监听到缓存状态,因此当播放器处于其他状态时是无法判断的。进一步地,由于受环境及用户操作多媒体的时机的影响,因此,所获取的多媒体的初始状态也可能不准确,进而需要更精确的判断,对于更精确的判断详见本申请的后续步骤说明。
步骤S104,判断多媒体的初始状态是否发生状态转移。
具体地,在获取到多媒体的初始状态时,可以根据预设的状态事件追踪器监听到用户(或其他因素所导致)发送的其他状态的触发消息,进而可以判断该初始状态发生状态转移。
其中,其他状态的触发消息,可以是多媒体数据播放完成消息,多媒体数据寻址消息,多媒体停止播放消息和多媒体正在播放消息等,对此本申请在此不做任何限定。
对于如何实现步骤S104,详见下面对步骤S1041至步骤S1043描述,即如图2至图10所示。
步骤S106,若多媒体的初始状态发生状态转移,则根据预设的状态判断条件,确定多媒体的最终状态。
根据本申请实施例,当多媒体的初始状态发生状态转移时,可以根据预先设定好的判断条件确定多媒体的最终状态,其中,最终状态表示多媒体的初始状态发生状态转移之后多媒体处于何种状态。
具体地,状态判断条件,可以是针对多媒体的不同状态进行相应的预设,也可以是根据预先对多媒体的状态分析,确定统一的状态判断条件,对此本申请不做任何限定。
在本申请实施例中,通过获取多媒体在初始时刻的初始状态,根据接收到的触发消息判断初始状态是否转移为其他的状态,如果初始状态发生了状态转移,则根据状态判断条件能够准确识别多媒体是否处于正在寻址、正在播放、暂停播放以及正在缓冲,达到了准确识别多媒体最终播放状态的目的,从而实现了准确识别播放器是否处于播放状态、暂停状态、寻址状态和缓冲状态的技术效果,进而解决了现有技术中多媒体的最终播放状态识别不精确的技术问题。
进一步地,在获取多媒体的初始状态之前,本申请所提供的方法还包括:预先对多媒体进行状态类别的分类,其中,状态类别至少包含以下一种类别:寻址状态、缓冲区状态、操作意向状态。
具体地,按照对多媒体的操作将初始状态分成三类,即寻址状态、缓冲区状态和操作意向状态,其中,寻址状态至少包括以下一种:非寻址和正在寻址;缓冲区状态至少包括以下一种:正在缓冲、缓冲空闲、正在清空多媒体数据;操作意向状态至少包括以下一种:正在播放和暂停播放。缓冲区状态的初始状态为正在缓冲,操作意向的初始状态为正在播放,寻址状态的初始状态为非寻址。
可选地,判断多媒体的初始状态是否发生状态转移包括步骤S1041至步骤S1042:
步骤S1041,监听多媒体的触发事件,得到状态响应消息,其中,一个触发事件包含多个状态响应消息,状态响应消息至少包含以下一种消息:多媒体播放完成消息、多媒体寻址消息、多媒体停止播放消息、多媒体正在播放消息。
下面继续以Flash NetStream播放组件为例,对步骤S1041进行说明:
通过调用Flash NetStream播放组件中的追踪器(可表示为:NetStream.addEventListener),并监听多媒体的触发事件得到状态响应消息,即状态事件(可表示为:NetStatusEvent.NET_STATUS)。通过监听触发事件可以得到多个状态响应消息,其中,状态响应消息包括:多媒体停止播放消息(可表示为:NetStream.Buffer.Empty)、多媒体正在播放消息(可表示为:NetStream.Buffer.Full)、多媒体播放完成消息(可表示为:NetStream.Buffer.Flush)和多媒体寻址消息(可表示为:NetStream.Seek.Notify)。
步骤S1042,根据该状态响应消息确定多媒体的初始状态的转移状态。
进一步地,步骤S1042根据状态响应消息确定初始状态的转移状态可以包括如下步骤S1至步骤S4:
步骤S1,当状态响应消息为多媒体停止播放消息时,若缓冲区状态为缓冲空闲,则确定初始状态的转移状态为正在缓冲;或者若缓冲区状态为正在清空多媒体数据,则确定转移状态为缓冲空闲。
具体地,图2是本申请实施例的多媒体状态的识别方法中一种可选的初始状态发生状态转移的转移图。如图2所示,在接收到的状态响应消息为多媒体停止播放消息(NetStream.Buffer.Empty)的情况下,如果缓冲区状态为缓冲空闲(可表示为:Normal),则控制多媒体发生状态转移之后的状态为正在缓冲(可表示为:Buffering),或者缓冲区状态为正在清空多媒体(可表示为:Flushing),则控制多媒体发生状态转移之后的状态为缓冲空闲(可表示为:Normal)。
步骤S2,当状态响应消息为多媒体正在播放消息时,若缓冲区状态为正在缓冲,则确定转移状态为缓冲空闲。
具体地,图3是本申请实施例的多媒体状态的识别方法中另一种可选的初始状态发生状态转移的转移图。如图3所示,在接收到的状态响应消息为多媒体正在播放消息(NetStream.Buffer.Full)的情况下,如果缓冲区状态为正在缓冲,则控制多媒体发生状态转移之后的状态为缓冲空闲(Normal)。
步骤S3,当状态响应消息为多媒体播放完成消息时,若缓冲区状态为缓冲空闲,则确定转移状态为正在清空多媒体数据。
具体地,图4是本申请实施例的多媒体状态的识别方法中另一种可选的初始状态发生状态转移的转移图。如图4所示,在接收到的消息为多媒体播放完成消息(可表示为:NetStream.Buffer.Flush)的情况下,如果缓冲区状态为缓冲空闲(Normal),则控制多媒体发生状态转移之后的状态为正在清空多媒体数据(Flushing)。
步骤S4,当状态响应消息为多媒体数据寻址消息时,若寻址状态为正在寻址,则确定转移状态为非寻址。
具体地,图5是本申请实施例的多媒体状态的识别方法中另一种可选的初始状态发生状态转移的转移图。如图5所示,在接收到的状态响应消息为多媒体寻址消息(可表示为:NetStream.Seek.Notify)的情况下,如果寻址状态为正在寻址(可表示为:Seeking),则控制多媒体发生状态转移之后的状态为非寻址(可表示为:NotSeeking)。
优选地,判断多媒体的初始状态是否发生状态转移还包括步骤S1043:
步骤S1043,执行状态处理功能,对初始状态进行状态处理,得到转移状态,其中,状态处理功能包含以下至少一种:多媒体重置功能、多媒体播放暂停功能和多媒体寻址功能。
除了监听多媒体的触发事件(可表示为:NetStatusEvent.NET_STATUS),得到状态响应消息控制初始状态发生状态转移之外,还可以执行状态处理功能,包括:多媒体重置功能(可表示为:Resume);多媒体播放暂停功能(可表示为:Pause);多媒体寻址功能(可表示为:Seek)。通过执行相应地状态处理功能,可以控制初始状态发生相应地状态转移。
进一步地,步骤S1043执行状态处理功能,对初始状态进行状态处理,得到转移状态包括如下步骤S5至步骤S7:
步骤S5,当执行多媒体重置功能时,若操作意向状态为暂停播放,则执行状态处理之后转移状态为正在播放。
具体地,图6是本申请实施例的多媒体状态的识别方法中另一种可选的初始状态发生状态转移的转移图。如图6所示,在执行多媒体重置功能(Resume)的情况下,如果操作意向状态为暂停播放(Paused),则控制多媒体发生状态转移之后的状态为正在播放(Playing)。
步骤S6,当执行多媒体播放暂停功能时,若缓冲区状态为正在缓冲,则执行状态处理之后转移状态为缓冲空闲;或者若操作意向状态为正在播放,则执行状态处理之后转移状态为暂停播放。
具体地,图7是本申请实施例的多媒体状态的识别方法中另一种可选的初始状态发生状态转移的转移图。如图7所示,在执行多媒体播放暂停功能(Paused)的情况下,如果缓冲区状态为正在缓冲(可表示为:Buffering),则控制多媒体发生状态转移之后的状态为缓冲空闲(可表示为:Normal)。
具体地,图8是本申请实施例的多媒体状态的识别方法中另一种可选的初始状态发生状态转移的转移图。如图8所示,在执行多媒体播放暂停功能(Paused)的情况下,如果操作意向状态为正在播放(可表示为:Playing),则控制多媒体发生状态转移之后的状态为暂停播放(可表示为:Paused)。
步骤S7,当执行多媒体寻址功能时,将当前缓冲区状态中的状态,执行状态处理之后转移状态为正在缓冲;或者若寻址状态为非寻址,则执行状态处理之后转移状态为正在寻址。
具体地,图9是本申请实施例的多媒体状态的识别方法中另一种可选的初始状态发生状态转移的转移图。如图9所示,在执行多媒体寻址功能(Seek)的情况下,如果当前缓冲区的状态为缓冲空闲(Normal)或正在清空多媒体数据(可表示为:Flushing),则控制多媒体发生状态转移之后的状态为正在缓冲(Buffering)。
具体地,图10是本申请实施例的多媒体状态的识别方法中另一种可选的初始状态发生状态转移的转移图。如图10所示,在执行多媒体寻址功能(Seek)的情况下,如果寻址状态为非寻址(可表示为:NotSeeking),则控制多媒体发生状态转移之后的状态为正在寻址(Seeking)。
图11是根据本申请实施例多媒体状态的识别方法中确定多媒体的最终状态的流程图。如图11所示,该方法包括如下步骤S201至步骤S207:
步骤S201,判断寻址状态是否为正在寻址。具体地,如果判断出寻址状态为正在寻址,执行步骤S202,如果判断出寻址状态不是正在寻址,执行步骤S203。
步骤S202,最终状态为正在寻址。
步骤S203,判断操作意向状态是否为暂停播放。具体地,如果判断出操作意向状态为暂停播放,执行步骤S204,如果判断出操作意向状态不是暂停播放,执行步骤S205。
步骤S204,最终状态为暂停播放。
步骤S205,判断缓冲区状态是否为正在缓冲。具体地,如果判断出缓冲区状态为正在缓冲,执行步骤S206,如果判断出缓冲区状态不是正在缓冲,执行步骤S207。
步骤S206,最终状态为正在缓冲。
步骤S207,确定最终状态为正在播放。
具体地,首先判断寻址状态,如果在发生状态转移之后判断出寻址状态为正在寻址(Seeking),就可以多媒体的最终状态就是正在寻址(Seeking)。如果判断寻址状态不是正在寻址,那么步骤S203判断操作意向状态是否为暂停播放,如果在发生状态转移之后判断出操作意向状态为暂停播放(Paused),则最终状态为暂停播放(Paused)。如果多媒体的操作意向状态不是暂停播放(Paused),那么步骤S205判断多媒体的缓冲区状态是否为正在缓冲(Buffering),如果在发生状态转移之后判断出操作意向状态为正在缓冲(Buffering),则多媒体的最终状态为正在缓冲(Buffering),否则多媒体的最终状态正在播放(Playing)。
在本申请实施例中,假设接收到的状态响应消息为:多媒体停止播放消息(NetStream.Buffer.Empty),缓冲区状态为缓冲空闲(Normal),操作意向状态为正在播放(Playing),寻址状态为非寻址(NotSeeking),根据步骤S1可知,发生状态转移,由缓冲空闲(Normal)转移为正在缓冲(Buffering)。相应地发生了一次状态转移之后需要根据步骤S201至步骤S207的预设的状态判断条件,确定多媒体的最终状态,首先判断转移之后寻址状态为非寻址(NotSeeking),则执行步骤S203,判断操作意向状态是否为暂停播放(Paused),判断出操作意向状态为暂停播放(Paused),则执行步骤S205,判断出缓冲区状态为正在缓冲(Buffering),则可以确定出多媒体的最终状态为正在缓冲(Buffering)。
进一步地,在根据预设的状态判断条件,确定多媒体的最终状态之后,方法还包括:更新多媒体的最终状态。
具体地,可以按照预设时间或多媒体的触发响应消息,对已经确定的多媒体的最终状态进行更新。
例如,假设发生一次状态转移之后,判断出多媒体的最终状态(即此时的最终状态为当前多媒体所处状态)为正在缓冲(Buffering)。按预设时间每0.05秒扫描一次多媒体状态进行更新,若扫描得到该多媒体的状态已经从Buffering转移为播放(Playing),对该多媒体已经确定出的最终状态更新为播放(Playing)。即此时更新后多媒体的播放(Playing)状态为最终状态。
本申请实施例还提供了一种多媒体状态的识别装置。该装置可以通过上述多媒体状态的识别方法实现其功能。需要说明的是,本申请实施例的多媒体状态的识别装置可以用于执行本申请实施例所提供的多媒体状态的识别方法,本申请实施例多媒体状态的识别方法也可以通过本申请实施例所提供的多媒体状态的识别装置来执行。
图12是根据本申请实施例一种可选的多媒体状态的识别装置的示意图。如图12所示,根据本申请实施例的多媒体状态的识别装置包括:获取单元10、判断单元20以及确定单元30,具体地:
获取单元10用于获取多媒体的初始状态。
具体地,多媒体可以是视频播放器,也可以视音频播放器。
判断单元20用于判断初始状态是否发生状态转移。
具体地,当初始状态接收到触发消息之后,会根据触发消息发生状态转移,即初始状态中的某一状态由当前状态转移至其它状态。
确定单元30用于若初始状态发生状态转移,则根据预设的状态判断条件,确定多媒体的最终状态。
具体地,如果初始状态发生了一次状态转移,那么根据预先设定好的判断条件确定多媒体的最终状态,其中,最终状态表示初始状态发生一次状态转移之后多媒体处于何种状态。
本申请实施例所提供的多媒体状态的识别装置,通过获取多媒体在初始时刻的初始状态,根据接收到的触发消息判断初始状态是否转移为其他的状态,如果初始状态发生了状态转移,则根据状态判断条件能够准确识别多媒体是否处于正在寻址、正在播放、暂停播放以及正在缓冲,达到了准确识别多媒体最终播放状态的目的,从而实现了准确识别播放器是否处于播放状态、暂停状态、寻址状态和缓冲状态的技术效果,进而解决了现有技术中多媒体的最终播放状态识别不精确的技术问题。
进一步地,装置还包括分类单元,其中:
分类单元用于在获取单元10获取多媒体的初始状态之前,预先对多媒体进行状态类别的分类,其中,状态类别至少包含以下一种类别:寻址状态、缓冲区状态、操作意向状态。
具体地,在分类单元中,将多媒体的初始状态分成三类,即寻址状态、缓冲区状态和操作意向状态,其中,寻址状态至少包括以下一种:非寻址和正在寻址;缓冲区状态至少包括以下一种:正在缓冲、缓冲空闲和正在清空多媒体数据;操作意向状态至少包括以下一种:正在播放和暂停播放。缓冲区状态的初始状态为正在缓冲,操作意向的初始状态为正在播放,寻址状态的初始状态为非寻址。
可选地,判断单元20包括:监听模块和第一确定模块,其中:
监听模块用于监听多媒体的触发事件,得到状态响应消息,其中,一个触发事件包含多个状态响应消息,状态响应消息至少包含以下一种消息:多媒体播放完成消息、多媒体寻址消息、多媒体停止播放消息、多媒体正在播放消息。
第一确定模块用于根据状态响应消息确定初始状态的转移状态。
具体地,通过调用追踪器(可表示为:NetStream.addEventListener),并监听多媒体的触发事件得到状态响应消息,即状态事件(可表示为:NetStatusEvent.NET_STATUS)。用过设置监听模块来监听触发事件,其中,一个触发事件可以得到多个状态响应消息,其中,状态响应消息包括:多媒体停止播放消息(可表示为:NetStream.Buffer.Empty)、多媒体正在播放消息(可表示为:NetStream.Buffer.Full)、多媒体播放完成消息(可表示为:NetStream.Buffer.Flush)和多媒体寻址消息(可表示为:NetStream.Seek.Notify)。
进一步地,第一确定模块包括:第一确定子模块、第二确定子模块、第三确定子模块和第四确定子模块,其中:
第一确定子模块用于当状态响应消息为多媒体停止播放消息时,若缓冲区状态为缓冲空闲,则确定初始状态的转移状态为正在缓冲;或者若缓冲区状态为正在清空多媒体数据,则确定转移状态为缓冲空闲。
具体地,在接收到的状态响应消息为多媒体停止播放消息(可表示为:NetStream.Buffer.Empty)的情况下,如果缓冲区状态为缓冲空闲(可表示为:Normal),则控制多媒体发生状态转移之后的状态为正在缓冲(可表示为:Buffering),或者缓冲区状态为正在清空多媒体(可表示为:Flushing),则控制多媒体发生状态转移之后的状态为缓冲空闲(可表示为:Normal)。
第二确定子模块用于当状态响应消息为多媒体正在播放消息时,若缓冲区状态为正在缓冲,则确定转移状态为缓冲空闲。
具体地,在接收到的状态响应消息为多媒体正在播放消息(可表示为:NetStream.Buffer.Full)的情况下,如果缓冲区状态为正在缓冲,则控制多媒体发生状态转移之后的状态为缓冲空闲(可表示为:Normal)。
第三确定子模块用于当状态响应消息为多媒体播放完成消息的情况下,若缓冲区状态为缓冲空闲,则确定转移状态为正在清空多媒体数据。
具体地,在接收到的消息为多媒体播放完成消息(可表示为:NetStream.Buffer.Flush)的情况下,如果缓冲区状态为缓冲空闲(可表示为:Normal),则控制多媒体发生状态转移之后的状态为正在清空多媒体数据(可表示为:Flushing)。
第四确定子模块用于当状态响应消息为多媒体寻址消息时,若寻址状态为正在寻址,则确定转移状态为非寻址。
具体地,在接收到的状态响应消息为多媒体寻址消息(可表示为:NetStream.Seek.Notify)的情况下,如果寻址状态为正在寻址(可表示为:Seeking),则控制多媒体发生状态转移之后的状态为非寻址(可表示为:NotSeeking)。
优选地,判断单元20还包括执行模块,其中:
执行模块用于执行状态处理功能,对初始状态进行状态处理,得到转移状态,其中,状态处理功能包含以下至少一种:多媒体数据重置功能;多媒体播放暂停功能和多媒体寻址功能。
除了监听多媒体的触发事件NetStatusEvent.NET_STATUS,得到状态响应消息控制初始状态发生状态转移之外,还可以执行状态处理功能,包括:多媒体重置功能,(可表示为:Resume);多媒体播放暂停功能,(可表示为:Pause);多媒体寻址功能,(可表示为:Seek)。通过执行相应地状态处理功能,可以控制初始状态发生相应地状态转移。
进一步地,执行模块包括:第一执行子模块、第二执行子模块和第三执行子模块,其中:
第一执行子模块用于当执行多媒体重置功能时,若操作意向状态为暂停播放,则执行状态处理之后转移状态为正在播放。
在执行多媒体重置功能(Resume)的情况下,如果操作意向状态为暂停播放(Paused),则控制多媒体发生状态转移之后的状态为正在播放(Playing)。
第二执行子模块用于当执行多媒体播放暂停功能时,若缓冲区状态为正在缓冲,则执行状态处理之后转移状态为缓冲空闲;或者若操作意向状态为正在播放,则执行状态处理之后转移状态为暂停播放。
在执行多媒体播放暂停功能(Paused)的情况下,如果缓冲区状态为正在缓冲(Buffering),则控制多媒体发生状态转移之后的状态为缓冲空闲(Normal)。或者在执行多媒体播放暂停功能(Paused)的情况下,如果操作意向状态为正在播放(Playing),则控制多媒体发生状态转移之后的状态为暂停播放(Paused)。
第三执行子模块,用于当执行多媒体寻址功能时,将当前缓冲区状态中的状态,执行状态处理之后转移状态为正在缓冲;或者若寻址状态为非寻址,则执行状态处理之后转移状态为正在寻址。
在执行多媒体寻址功能(Seek)的情况下,如果当前缓冲区的状态为缓冲空闲(Normal)或正在清空多媒体(Flushing),则控制多媒体发生状态转移之后的状态为正在缓冲(Buffering)。在执行多媒体寻址功能(Seek)的情况下,如果寻址状态为非寻址(NotSeeking),则控制多媒体发生状态转移之后的状态为正在寻址(Seeking)。
进一步地,装置还包括更新单元,其中:
更新单元,用于在根据预设的状态判断条件,确定多媒体的最终状态之后,更新多媒体的最终状态。
此外,本申请实施例还提供了一种多媒体状态的识别系统,图13是根据本申请实施例一种可选的多媒体状态的识别系统的示意图。如图13所示,根据本申请实施例的多媒体状态的识别系统包括:缓存器100和处理器200,具体地:
缓存器100用于获取多媒体的初始状态。
处理器200用于判断初始状态是否发生状态转移,若初始状态发生状态转移,则根据预设的状态判断条件,确定多媒体的最终状态。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (8)
1.一种多媒体状态的识别方法,其特征在于,包括:
获取所述多媒体的初始状态;
判断所述初始状态是否发生状态转移;以及
若所述初始状态发生状态转移,则根据预设的状态判断条件,确定所述多媒体的最终状态;
在获取所述多媒体的初始状态之前,所述方法还包括:
预先对所述多媒体进行状态类别的分类,其中,所述状态类别至少包含以下一种类别:寻址状态、缓冲区状态、操作意向状态;
根据预设的状态判断条件,确定所述多媒体的最终状态包括:
判断所述寻址状态是否为正在寻址;
若不是所述正在寻址,则判断所述操作意向状态是否为暂停播放;
若不是所述暂停播放,则判断所述缓冲区状态是否为正在缓冲;以及
若不是所述正在缓冲,则确定所述最终状态为正在播放。
2.根据权利要求1所述的方法,其特征在于,判断所述初始状态是否发生状态转移包括:
监听所述多媒体的触发事件,得到状态响应消息,其中,一个所述触发事件包含多个状态响应消息,所述状态响应消息至少包含以下一种消息:多媒体播放完成消息、多媒体寻址消息、多媒体停止播放消息、多媒体正在播放消息;
根据所述状态响应消息确定所述初始状态的转移状态。
3.根据权利要求2所述的方法,其特征在于,根据所述状态响应消息确定所述初始状态的转移状态包括:
当所述状态响应消息为所述多媒体停止播放消息时,若所述缓冲区状态为缓冲空闲,则确定所述初始状态的转移状态为所述正在缓冲;或者若所述缓冲区状态为正在清空多媒体数据,则确定所述转移状态为所述缓冲空闲;
当所述状态响应消息为所述多媒体正在播放消息时,若所述缓冲区状态为所述正在缓冲,则确定所述转移状态为所述缓冲空闲;
当所述状态响应消息为所述多媒体播放完成消息时,若所述缓冲区状态为所述缓冲空闲,则确定所述转移状态为所述正在清空多媒体数据;以及
当所述状态响应消息为所述多媒体寻址消息时,若所述寻址状态为所述正在寻址,则确定所述转移状态为非寻址。
4.根据权利要求3所述的方法,其特征在于,判断所述初始状态是否发生状态转移还包括:
执行状态处理功能,对所述初始状态进行状态处理,得到所述转移状态,其中,所述状态处理功能包含以下至少一种:多媒体重置功能、多媒体播放暂停功能、多媒体寻址功能。
5.根据权利要求4所述的方法,其特征在于,执行状态处理功能,对所述初始状态进行状态处理,得到所述转移状态包括:
当执行所述多媒体重置功能时,若所述操作意向状态为暂停播放,则执行状态处理之后所述转移状态为所述正在播放;
当执行所述多媒体播放暂停功能时,若所述缓冲区状态为所述正在缓冲,则执行状态处理之后所述转移状态为所述缓冲空闲;或者若所述操作意向状态为所述正在播放,则执行状态处理之后所述转移状态为所述暂停播放;以及
当执行所述多媒体寻址功能时,将当前所述缓冲区状态中的状态,执行状态处理之后所述转移状态为所述正在缓冲;或者若所述寻址状态为所述非寻址,则执行状态处理之后所述转移状态为所述正在寻址。
6.根据权利要求5所述的方法,其特征在于,在根据预设的状态判断条件,确定所述多媒体的最终状态之后,所述方法还包括:
更新所述多媒体的最终状态。
7.一种多媒体状态的识别装置,其特征在于,包括:
获取单元,用于获取所述多媒体的初始状态;
判断单元,用于判断所述初始状态是否发生状态转移;以及
确定单元,用于若所述初始状态发生状态转移,则根据预设的状态判断条件,确定所述多媒体的最终状态;
所述装置还包括分类单元,其中,分类单元用于在所述获取单元获取多媒体的初始状态之前,预先对所述多媒体进行状态类别的分类,其中,所述状态类别至少包含以下一种类别:寻址状态、缓冲区状态、操作意向状态;
所述确定单元还用于判断所述寻址状态是否为正在寻址;若不是所述正在寻址,则判断所述操作意向状态是否为暂停播放;若不是所述暂停播放,则判断所述缓冲区状态是否为正在缓冲;以及若不是所述正在缓冲,则确定所述最终状态为正在播放。
8.一种多媒体状态的识别系统,其特征在于,包括:
缓存器,用于获取所述多媒体的初始状态;以及
处理器,用于判断所述初始状态是否发生状态转移,若所述初始状态发生状态转移,则根据预设的状态判断条件,确定所述多媒体的最终状态;
其中,所述处理器还用于在获取所述多媒体的初始状态之前,预先对所述多媒体进行状态类别的分类,其中,所述状态类别至少包含以下一种类别:寻址状态、缓冲区状态、操作意向状态;
根据预设的状态判断条件,确定所述多媒体的最终状态包括:判断所述寻址状态是否为正在寻址;若不是所述正在寻址,则判断所述操作意向状态是否为暂停播放;若不是所述暂停播放,则判断所述缓冲区状态是否为正在缓冲;以及若不是所述正在缓冲,则确定所述最终状态为正在播放。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510413186.8A CN106341730B (zh) | 2015-07-14 | 2015-07-14 | 多媒体状态的识别方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510413186.8A CN106341730B (zh) | 2015-07-14 | 2015-07-14 | 多媒体状态的识别方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106341730A CN106341730A (zh) | 2017-01-18 |
CN106341730B true CN106341730B (zh) | 2019-06-07 |
Family
ID=57826182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510413186.8A Active CN106341730B (zh) | 2015-07-14 | 2015-07-14 | 多媒体状态的识别方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106341730B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101111895A (zh) * | 2004-12-02 | 2008-01-23 | 索尼株式会社 | 再现装置、再现方法、再现程序、记录媒体和数据结构 |
US7877525B1 (en) * | 2008-05-02 | 2011-01-25 | Sprint Communications Company L.P. | Resuming media objects delivered via progressive downloading services upon data loss events |
CN103533454A (zh) * | 2013-10-29 | 2014-01-22 | 北京国双科技有限公司 | 视频播放流畅度的检测方法和装置 |
CN104581388A (zh) * | 2014-12-31 | 2015-04-29 | 网宿科技股份有限公司 | 播放状态的处理方法、装置及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120054045A1 (en) * | 2010-08-26 | 2012-03-01 | Cbs Interactive, Inc. | Managing Media Playback |
-
2015
- 2015-07-14 CN CN201510413186.8A patent/CN106341730B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101111895A (zh) * | 2004-12-02 | 2008-01-23 | 索尼株式会社 | 再现装置、再现方法、再现程序、记录媒体和数据结构 |
US7877525B1 (en) * | 2008-05-02 | 2011-01-25 | Sprint Communications Company L.P. | Resuming media objects delivered via progressive downloading services upon data loss events |
CN103533454A (zh) * | 2013-10-29 | 2014-01-22 | 北京国双科技有限公司 | 视频播放流畅度的检测方法和装置 |
CN104581388A (zh) * | 2014-12-31 | 2015-04-29 | 网宿科技股份有限公司 | 播放状态的处理方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106341730A (zh) | 2017-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104991850B (zh) | 一种应用程序的心跳包控制方法和装置 | |
CN107071503B (zh) | 视频直播的方法、装置和直播接流服务器 | |
US9720643B2 (en) | Audio management method and apparatus | |
CN105611328B (zh) | 基于hls流媒体的视频数据加速下载方法及装置 | |
CN104104971B (zh) | 一种视频文件处理方法及系统 | |
CN103024539B (zh) | 用于管理智能电视系统的方法及装置 | |
CN106528193A (zh) | 一种应用更新方法及终端 | |
CN106233269A (zh) | 在存储器控制器中的精细粒度带宽供应 | |
CN104902316B (zh) | 同步播放时间的方法、装置、智能音箱及移动终端 | |
CN109360567A (zh) | 可定制唤醒的方法和装置 | |
CN103686376A (zh) | 智能电视的软件升级方法和装置 | |
CN109343902A (zh) | 音频处理组件的运行方法、装置、终端及存储介质 | |
CN108762831A (zh) | 应用程序预加载方法、装置、存储介质及终端 | |
CN106375835B (zh) | 一种流媒体播放方法及设备 | |
CN109698979A (zh) | 一种视频播放的方法、装置及电子设备 | |
CN109364477A (zh) | 基于语音控制进行打麻将游戏的方法及装置 | |
CN102984582A (zh) | 搭载操作系统的智能电视系统管理方法及装置 | |
CN115460469A (zh) | 多视频播放的处理方法、装置、计算机设备及存储介质 | |
CN106250007B (zh) | 一种实现分支选择播放的系统和方法 | |
CN109658934B (zh) | 通过语音控制多媒体app的方法及装置 | |
CN106341730B (zh) | 多媒体状态的识别方法、装置及系统 | |
CN114138961A (zh) | 有声电子书的播放处理方法、计算设备及计算机存储介质 | |
CN106254961B (zh) | 电视中的视频播放方法及电视 | |
CN107682356B (zh) | 数据的更新方法及装置、设备以及存储介质 | |
CN105897854A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing Applicant after: Beijing Guoshuang Technology Co.,Ltd. Address before: 100086 Cuigong Hotel, 76 Zhichun Road, Shuangyushu District, Haidian District, Beijing Applicant before: Beijing Guoshuang Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |