CN112449228A - 一种播放器与页面的状态同步的方法及设备 - Google Patents
一种播放器与页面的状态同步的方法及设备 Download PDFInfo
- Publication number
- CN112449228A CN112449228A CN201910817942.1A CN201910817942A CN112449228A CN 112449228 A CN112449228 A CN 112449228A CN 201910817942 A CN201910817942 A CN 201910817942A CN 112449228 A CN112449228 A CN 112449228A
- Authority
- CN
- China
- Prior art keywords
- state
- key value
- value parameter
- page
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000006870 function Effects 0.000 claims description 57
- 238000003860 storage Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 abstract description 21
- 230000003111 delayed effect Effects 0.000 abstract description 10
- 230000003993 interaction Effects 0.000 abstract description 9
- 230000009286 beneficial effect Effects 0.000 abstract description 7
- 238000009826 distribution Methods 0.000 abstract description 5
- 238000012545 processing Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000003825 pressing Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 239000011230 binding agent Substances 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
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/4302—Content synchronisation processes, e.g. decoder synchronisation
-
- 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/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
-
- 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/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47202—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
-
- 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/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47217—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Input From Keyboards Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种播放器与页面的状态同步的方法及设备,涉及视频播放技术领域。在本发明实施例中,在接收到播放器发送的状态消息时,将状态消息存入消息队列中,之后判断消息队列中状态消息的数量是否大于或等于预设数量,即判断消息队列中的拥堵情况,然后根据消息队列中的拥堵情况,选择性地向页面发送键值参数,以丢弃一些重复无意义的状态消息。如此,实现了消息的快速分发,提高了播放器与页面的状态同步性,避免了页面反应慢、反应滞后的问题出现,从而提高了播放器与页面的交互的准确率,有利于降低设备的内存消耗。
Description
技术领域
本发明涉及视频播放技术领域,尤指一种播放器与页面的状态同步的方法及设备。
背景技术
IPTV即交互式网络电视,能够充分利用网络资源,且具有较好的交互性,可以为用户提供更多的资源,提高用户的体验感受。其中,IPTV的页面的内容可以在Android(安卓)的IPTV apk(安装文件)中完成,而播放器功能可以在单独的播放器中实现,如此使得页面和播放器处于不同的进程中。
另外,IPTV具有多种功能,例如直播和点播。以直播为例,直播中常用的功能为时移和播放,即:在频道正常播放的情况下,按左键(如遥控器的左键)可以播放先于当前时间的频道内容,从而实现回看;在频道回看的模式下,按右键(如遥控器的右键)可以跳转至当前播放内容之后的直播内容。
然而,当用户通过按左键或右键进行时移操作时,并非按一下就能到达想看的播放画面,可能需要多次按键才能到达想看的画面,由于页面和播放器处于不同的进程中,所以可能会出现页面反应慢、以及页面反应滞后的问题出现,导致过度消耗设备的内存,用户体验感受降低。
基于此,如何实现播放器与页面的状态同步,解决页面反应慢和反应滞后的问题,是本领域技术人员亟待解决的技术问题。
发明内容
本发明实施例提供了一种播放器与页面的状态同步的方法及设备,用以实现播放器与页面的状态同步,解决页面反应慢和反应滞后的问题。
第一方面,本发明实施例提供了一种播放器与页面的状态同步的方法,包括:
接收所述播放器当前发送的携带有状态的状态消息;
将所述状态消息存入消息队列中,并判断所述消息队列中的所述状态消息的数量是否大于或等于预设数量;
若是,从所述消息队列中提取出所述预设数量的所述状态消息,确定提取出的各所述状态消息携带的状态,在判断出各所述状态消息携带的状态满足预设的键值参数发送条件时,根据确定出的各所述状态消息携带的状态,确定键值参数并发送至所述页面;
若否,确定与所述状态消息携带的状态对应的键值参数并发送至所述页面。
可选地,在从所述消息队列中提取出所述预设数量的所述状态消息之后,该方法还包括:
将提取出的各所述状态消息存入预设的缓存池中;
在根据确定出的各所述状态消息携带的状态,确定键值参数并发送至所述页面之后,以及在判断出各所述状态消息携带的状态不满足预设的键值参数发送条件时,该方法还包括:
清空所述缓存池。
可选地,在将提取出的各所述状态消息存入预设的缓存池中时,该方法还包括:
锁定键值参数发送功能;
在根据确定出的各所述状态消息携带的状态,确定键值参数并发送至所述页面之前,该方法还包括:
释放所述键值参数发送功能;
确定与所述状态消息携带的状态对应的键值参数并发送至所述页面,具体包括:
在判断出所述键值参数发送功能被释放时,确定与所述状态消息携带的状态对应的键值参数并发送至所述页面。
可选地,锁定键值参数发送功能,具体包括:
将键值参数发送功能对应的标记修改为第一标记;
释放所述键值参数发送功能,具体包括:
将所述键值参数发送功能对应的标记修改为第二标记;
判断所述键值参数发送功能是否被释放,具体包括:
根据所述键值参数发送功能对应的标记,判断所述键值参数发送功能是否被释放。
可选地,所述预设的键值参数发送条件为:提取出的各所述状态消息携带的状态与参考状态相比至少部分不同;
其中,在接收到的当前的所述状态消息为第一个状态消息时,所述参考状态为预设的状态;或者,在接收到的当前的所述状态消息不是第一个状态消息,且已向所述页面发送过M个键值参数,M为正整数时,所述参考状态为第M个键值参数对应的状态。
可选地,根据确定出的各所述状态消息携带的状态,确定键值参数并发送至所述页面,具体包括:
判断各所述状态消息携带的状态是否均与所述参考状态不同;
若是,根据各所述状态消息的接收顺序,确定最后接收到的所述状态消息中携带的状态对应的键值参数,并发送至所述页面;
若否,若否,将各所述状态消息携带的状态中与所述参考状态相同的且最后接收到的状态定义为第一状态,将各所述状态消息携带的状态中与所述参考状态不同的且最后接收到的状态定义为第二状态,根据各所述状态消息的接收顺序,判断所述第一状态的接收顺序是否先于所述第二状态的接收顺序;
若先于,确定所述第二状态对应的键值参数并发送至所述页面;
若不先于,分别确定所述第一状态对应的第一键值参数,以及所述第二状态对应的第二键值参数,将所述第二键值参数和所述第一键值参数先后发送至所述页面。
可选地,所述状态具有三种,所述预设数量为四。
第二方面,本发明实施例提供了一种播放器与页面的状态同步的设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的所述程序指令,按照获得的程序执行:
接收所述播放器当前发送的携带有状态的状态消息;
将所述状态消息存入消息队列中,并判断所述消息队列中的所述状态消息的数量是否大于或等于预设数量;
若是,从所述消息队列中提取出所述预设数量的所述状态消息,确定提取出的各所述状态消息携带的状态,在判断出各所述状态消息携带的状态满足预设的键值参数发送条件时,根据确定出的各所述状态消息携带的状态,确定键值参数并发送至所述页面;
若否,确定与所述状态消息携带的状态对应的键值参数并发送至所述页面。
可选地,所述处理器还用于:
在从所述消息队列中提取出所述预设数量的所述状态消息之后,将提取出的各所述状态消息存入预设的缓存池中;
在根据确定出的各所述状态消息携带的状态,确定键值参数并发送至所述页面之后,以及在判断出各所述状态消息携带的状态不满足预设的键值参数发送条件时,清空所述缓存池。
第三方面,本发明实施例提供了一种计算机可读的非易失性存储介质,所述计算机可读的非易失性存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算执行本发明实施例提供的上述播放器与页面的状态同步的方法。
本发明有益效果如下:
本发明实施例提供的一种播放器与页面的状态同步的方法及设备,在接收到播放器发送的状态消息时,将状态消息存入消息队列中,之后判断消息队列中状态消息的数量是否大于或等于预设数量,即判断消息队列中的拥堵情况,然后根据消息队列中的拥堵情况,选择性地向页面发送键值参数,以丢弃一些重复无意义的状态消息。如此,实现了消息的快速分发,提高了播放器与页面的状态同步性,避免了页面反应慢、反应滞后的问题出现,从而提高了播放器与页面的交互的准确率,有利于降低设备的内存消耗。
附图说明
图1为现有技术中页面与播放器的通信机制的示意图;
图2为现有技术中用户、页面和播放器的交互流程图;
图3为本发明实施例中提供的一种播放器与页面的状态同步的方法的流程图;
图4为本发明实施例中提供的实施例的方法的流程图;
图5为本发明实施例中提供的一种播放器与页面的状态同步的设备的结构示意图;
图6为本发明实施例中提供的一种播放器与页面的状态同步的装置的结构示意图。
具体实施方式
下面将结合附图,对本发明实施例提供的一种播放器与页面的状态同步的方法及设备的具体实施方式进行详细地说明。需要说明的是,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
发明人在研究中发现,对于播放器和页面,由于处于不同的进程中,所以可以通过进程间通信机制(Binder)进行通信,如图1所示,其中,JNI为Java Native Interface,即Java本地接口,RPC为Remote Procedure Call,即远程过程调用,playermanager为播放器控制器,对于各结构之间的通信方式可以参见现有技术,在此不再赘述。
在播放器和页面进行交互时,以直播中的时移为例,参见图2所示,具体过程如下:
过程1:用户通过遥控器按下左键后,页面显示时移进度条;
过程2:页面将播控请求发送至播放器,以使播放器响应按键实现播放时移;
过程3:播放器向页面中的apk发送携带有状态的状态消息;
过程4:apk在接收到状态消息后,确定与状态消息携带的状态对应的键值参数,并发送至页面;
过程5:页面响应接收到的键值参数,且页面显示相应的进度条。
其中,如果当前的状态为时移,则显示时移进度条;如果当前的状态为播放,则隐藏时移进度条。
此时,若用户按键过快,由于页面和播放器处于不同的进程中,所以可能会出现页面反应慢、以及页面反应滞后的问题出现,导致过度消耗设备的内存,用户体验感受降低。
基于此,本发明实施例提供了一种播放器与页面的状态同步的方法,用于实现播放器与页面的状态同步,解决页面反应慢和反应滞后的问题。
本发明实施例提供的一种播放器与页面的状态同步的方法,如图3所示,可以包括:
S301、接收播放器当前发送的携带有状态的状态消息;
S302、将状态消息存入消息队列中;
S303、判断消息队列中的状态消息的数量是否大于或等于预设数量;若是,执行步骤S304;若否,执行步骤S307;
S304、从消息队列中提取出预设数量的状态消息;
S305、确定提取出的各状态消息携带的状态;
S306、在判断出各状态消息携带的状态满足预设的键值参数发送条件时,根据确定出的各状态消息携带的状态,确定键值参数并发送至页面;结束流程;
S307、确定与状态消息携带的状态对应的键值参数并发送至页面。
其中,键值参数可以是本领域技术人员所熟知的任何形式,在此并不限定。
在本发明实施例中,在接收到播放器发送的状态消息时,将状态消息存入消息队列中,之后判断消息队列中状态消息的数量是否大于或等于预设数量,即判断消息队列中的拥堵情况,然后根据消息队列中的拥堵情况,选择性地向页面发送键值参数,以丢弃一些重复无意义的状态消息。如此,实现了消息的快速分发,提高了播放器与页面的状态同步性,避免了页面反应慢、反应滞后的问题出现,从而提高了播放器与页面的交互的准确率,有利于降低设备的内存消耗。
在具体实施时,还可以设置缓存池,此时,在本发明实施例中,在从消息队列中提取出预设数量的状态消息之后,该方法还包括:
将提取出的各状态消息存入预设的缓存池中;
在根据确定出的各状态消息携带的状态,确定键值参数并发送至页面之后,以及在判断出各状态消息携带的状态不满足预设的键值参数发送条件时,该方法还包括:
清空缓存池。
如此,可以将消息队列中提取出的状态消息存储到缓存池中,以便于对状态消息进行进一步地处理。
并且,在根据确定出的各状态消息携带的状态,确定键值参数并发送至页面之后,以及在判断出各状态消息携带的状态不满足预设的键值参数发送条件时,可以清空缓存池,以释放缓存池的空间,从而减少对设备内存的占用,提高设备的处理速度。
其中,缓存池可以是通过软件设置的虚拟存储空间,也可以是根据实际情况在内存中划取一部分空间作为缓存池,只要能够实现缓存池的功能,对于缓存池的设置方式在此并不限定。
可选地,在本发明实施例中,状态具有三种,预设数量为四。
也就是说,在状态具有三种,即播放、暂停和时移时,可以将预设数量设置为4,即将4个状态消息划分为一组进行处理。
这样做的原因在于:
对于已发送的最后一个(也可以理解为距离当前时间最近的一个)键值参数,对应一个状态,若将该状态定义为参考状态时,在缓存池中,最多可以有2种状态与参考状态不同,为了实现去重的目的,即去除掉一些重复无意义的状态消息,所以可以将预设数量设置为四。
说明一点,在本发明实施例中,在从消息队列中提取预设数量的状态消息时,按照先入先出的原则,将先接收到的4个状态消息提取出来,以保证页面和播放器的状态同步性,避免出现错误。
具体地,为了避免在基于缓存池进行处理时发送键值参数,造成误操作,在本发明实施例中,在将提取出的各状态消息存入预设的缓存池中时,该方法还包括:
锁定键值参数发送功能;
在根据确定出的各状态消息携带的状态,确定键值参数并发送至页面之前,该方法还包括:
释放键值参数发送功能;
确定与状态消息携带的状态对应的键值参数并发送至页面,具体包括:
在判断出键值参数发送功能被释放时,确定与状态消息携带的状态对应的键值参数并发送至页面。
如此,通过对键值参数发送功能的锁定和释放,可以保证键值参数在需要发送的时候发送,在不需要发送时则不发送,减少页面与播放器状态不同步的几率,提高页面与播放器的交互的准确率。
可选地,为了对键值参数发送功能的锁定和释放,在本发明实施例中,锁定键值参数发送功能,具体包括:
将键值参数发送功能对应的标记修改为第一标记;
释放键值参数发送功能,具体包括:
将键值参数发送功能对应的标记修改为第二标记;
判断键值参数发送功能是否被释放,具体包括:
根据键值参数发送功能对应的标记,判断键值参数发送功能是否被释放。
例如但不限于,将第一标记设置为0,将第二标记设置为1,若键值参数发送功能的标记为0时,说明当前键值参数发送功能被锁定;若键值参数发送功能的标记为1时,说明当前键值参数发送功能被释放。
如此,通过简单地设置即可实现键值参数发送功能的锁定和释放,从而有利于降低设备的运算量,提高设备的处理效率。
并且,通过对键值参数发送功能对应的标记进行判断,即可确定出当前键值参数发送功能是否处于释放状态,以保证键值参数可以发送至页面。
在具体实施时,在本发明实施例中,预设的键值参数发送条件可以为:提取出的各状态消息携带的状态与参考状态相比至少部分不同;
其中,在接收到的当前的状态消息为第一个状态消息时,参考状态为预设的状态;或者,在接收到的当前的状态消息不是第一个状态消息,且已向页面发送过M个键值参数,M为正整数时,参考状态为第M个键值参数对应的状态。
例如,apk接收到播放器发送的第一个状态消息时,说明apk并未向页面发送过任何键值参数,此时可以将参考状态设置为预设的状态,如播放(但不限于播放)。
如此,可以保证在提取出的各状态消息携带的状态与参考状态均相同时,不向页面发送键值参数,以去除重复操作,降低设备的内存消耗,降低设备的处理量,提高设备的处理速度,同时提高页面与播放器的交互的准确率,提高状态同步性。
具体地,在本发明实施例中,根据确定出的各状态消息携带的状态,确定键值参数并发送至页面,具体包括:
判断各状态消息携带的状态是否均与参考状态不同;
若是,根据各状态消息的接收顺序,确定最后接收到的状态消息中携带的状态对应的键值参数,并发送至页面;
若否,将各状态消息携带的状态中与参考状态相同的且最后接收到的状态定义为第一状态,将各状态消息携带的状态中与参考状态不同的且最后接收到的状态定义为第二状态,根据各状态消息的接收顺序,判断第一状态的接收顺序是否先于第二状态的接收顺序;
若先于,确定第二状态对应的键值参数并发送至页面;
若不先于,分别确定第一状态对应的第一键值参数,以及第二状态对应的第二键值参数,将第二键值参数和第一键值参数先后发送至页面。
例如,将参考状态设置为播放(用CurStatus表示),将预设数量设置为4,提取到的4个状态消息中携带的状态分别用a1、a2、a3、a4表示,且a1为播放,a2为时移,a3为暂停,a4为时移,显然,在4个状态中,与参考状态CurStatus不同的状态有2种,分别为a3暂停、a2时移和a4时移。并且,设定a1、a2、a3、a4的接收顺序为依次接收。
若将与参考状态CurStatus相同的且最后接收到的状态为am,将与参考状态CurStatus不同的且最后接收到的状态为an,那么am(即第一状态)为a1,an(即第二状态)为a4,因a1的接收顺序先于a4,即m小于n,所以可以将第二状态(即a4)对应的键值参数发送至页面。
又例如,将参考状态设置为播放(用CurStatus表示),将预设数量设置为4,提取到的4个状态消息中携带的状态分别用a1、a2、a3、a4表示,且a1为播放,a2为播放,a3为时移,a4为播放,显然,在4个状态中,与参考状态CurStatus不同的状态有1种,即a3时移。并且,设定a1、a2、a3、a4的接收顺序为依次接收。
若将与参考状态CurStatus相同的且最后接收到的状态为am,将与参考状态CurStatus不同的且最后接收到的状态为an,那么am(即第一状态)为a4,an(即第二状态)为a3,因a4的接收顺序晚于a3,即m大于n,所以可以分别确定第一状态(即a4)对应的第一键值参数,以及第二状态(a3)对应的第二键值参数,然后先将a3对应的第二键值参数发送至页面,再将a4对应的第一键值参数发送至页面。
再例如,将参考状态设置为播放(用CurStatus表示),将预设数量设置为4,提取到的4个状态消息中携带的状态分别用a1、a2、a3、a4表示,且a1为时移,a2为暂停,a3为时移,a4为时移,显然,在4个状态中,均与参考状态CurStatus不同。并且,设定a1、a2、a3、a4的接收顺序为依次接收。
此时,根据a1、a2、a3、a4的接收顺序,确定最后接收到的状态消息中携带的状态为a4,因此在确定出a4对应的键值参数后发送至页面。
如此,可以有利于根据各状态选择性地发送键值参数,以降低设备的内存消耗,降低设备的处理量,提高设备的处理速度,同时提高页面与播放器的交互的准确率,提高状态同步性。
下面利用具体实施例对本发明实施例提供的方法进行说明。
其中,定义两个键值参数,分别用X1和X2表示,其中-1表示无效,以预设数量为4,参考状态设置为播放,且与参考状态不同的且最后接收到的状态用an表示,与参考状态相同的且最后接收到的状态用am表示为例,将提取出的4个状态消息中携带的状态分别标记为a1、a2、a3和a4,并结合图4所示的流程图。
S401、接收播放器当前发送的携带有状态的状态消息;
S402、将状态消息存入消息队列中;
S403、判断消息队列中的状态消息的数量是否大于或等于预设数量;若是,执行步骤S406;若否,执行步骤S404;
S404、判断键值参数发送功能是否被释放;若是,执行步骤S405;若否,继续本步骤;
S405、确定消息队列中的各状态消息携带的状态对应的键值参数并依次发送至页面;
S406、从消息队列中提取出4个状态消息,并存入缓存池中;
S407、锁定键值参数发送功能;
S408、确定提取出的各状态消息携带的状态;
S409、判断各状态消息携带的状态是否与参考状态至少部分不同;若是,执行步骤S411;若否,执行步骤S410;
S410、清空缓存池;回到步骤S403;
S411、判断各状态消息携带的状态是否均与参考状态不同;若是,执行步骤S412;若否,执行步骤S413;
S412、将X1设置为-1,将X2设置为a4对应的键值参数;执行步骤S416;
S413、判断m是否小于n;若是,执行步骤S414;若否,执行步骤S415;
S414、将X1设置为-1,将X2设置为an对应的键值参数;执行步骤S416;
S415、将X1设置为an对应的键值参数,将X2设置为am对应的键值参数;
S416、释放键值参数发送功能;
S417、将X1和X2中非-1的键值参数依次发送至页面;回到步骤S410。
在具体实施时,在实际情况中,为了提高实效性,提高响应速度,在本发明实施例中,可以限制用户的按键行为,例如但不限于,在播放器接收到页面发送的播控请求时,判断当前的状态是否为暂停,如果是,那么播放器可以拒绝向apk发送状态消息,从而避免在暂停状态下进行时移操作,进而避免出现响应速度慢、反应滞后的问题,提高控制的实效性。
需要说明的是,在实际情况中,在用户多次按键时,apk可以进行选择,即仅确定出接收到的播放器发送的最后一个状态消息携带的状态对应的键值参数,而对于在这之前接收到的状态消息则采用丢弃的处理方式,此时apk仅向页面发送与接收到的最后一个状态消息携带的状态对应的键值参数。显然这样做时,用户会发现按了多次按键,但页面上仅显示了个别按键,用户会以为按键没有响应,给用户造成错觉。
而对于本发明实施例中提供的方法,由于apk基于消息队列,且判断消息队列中的拥堵情况,然后根据消息队列中的拥堵情况,选择性地向页面发送键值参数,以丢弃一些重复无意义的状态消息,所以本发明实施例中并不是仅对接收到的最后一个状态消息进行处理,而是要比较接收到的各状态消息中携带的状态,再确定键值参数并发送至页面。因此,本发明实施例提供的方法,不仅不会给用户造成错觉,还实现了消息的快速分发,提高了播放器与页面的状态同步性,避免了页面反应慢、反应滞后的问题出现,从而提高了播放器与页面的交互的准确率,有利于降低设备的内存消耗。
基于同一发明构思,本发明实施例提供了一种播放器与页面的状态同步的设备,该设备的实现原理与前述一种播放器与页面的状态同步的方法的实现原理类似,该设备的具体实施方式可以参见前述方法的实施方式,重复之处不再赘述。
具体地,本发明实施例提供的上述播放器与页面的状态同步的设备,如图5所示,可以包括:
存储器501,用于存储程序指令;
处理器502,用于调用存储器501中存储的程序指令,按照获得的程序执行:
接收播放器当前发送的携带有状态的状态消息;
将状态消息存入消息队列中,并判断消息队列中的状态消息的数量是否大于或等于预设数量;
若是,从消息队列中提取出预设数量的状态消息,确定提取出的各状态消息携带的状态,在判断出各状态消息携带的状态满足预设的键值参数发送条件时,根据确定出的各状态消息携带的状态,确定键值参数并发送至页面;
若否,确定与状态消息携带的状态对应的键值参数并发送至页面。
可选地,本发明实施例提供的该设备可以是apk,通过apk将状态消息存入消息队列中,之后判断消息队列中状态消息的数量是否大于或等于预设数量,即判断消息队列中的拥堵情况,然后根据消息队列中的拥堵情况,选择性地向页面发送键值参数,以丢弃一些重复无意义的状态消息。如此,实现了消息的快速分发,提高了播放器与页面的状态同步性,避免了页面反应慢、反应滞后的问题出现,从而提高了播放器与页面的交互的准确率,有利于降低设备的内存消耗。
可选地,在本发明实施例中,处理器502还用于:
在从消息队列中提取出预设数量的状态消息之后,将提取出的各状态消息存入预设的缓存池中;
在根据确定出的各状态消息携带的状态,确定键值参数并发送至页面之后,以及在判断出各状态消息携带的状态不满足预设的键值参数发送条件时,清空缓存池。
可选地,在本发明实施例中,处理器502还用于:
在将提取出的各状态消息存入预设的缓存池中时,锁定键值参数发送功能;
在根据确定出的各状态消息携带的状态,确定键值参数并发送至页面之前,释放键值参数发送功能;
处理器502具体用于:在判断出键值参数发送功能被释放时,确定与状态消息携带的状态对应的键值参数并发送至页面。
可选地,在本发明实施例中,处理器502具体用于:将键值参数发送功能对应的标记修改为第一标记;将键值参数发送功能对应的标记修改为第二标记;根据键值参数发送功能对应的标记,判断键值参数发送功能是否被释放。
可选地,在本发明实施例中,预设的键值参数发送条件为:提取出的各状态消息携带的状态与参考状态相比至少部分不同;
其中,在接收到的当前的状态消息为第一个状态消息时,参考状态为预设的状态;或者,在接收到的当前的所述状态消息不是第一个状态消息,且已向所述页面发送过M个键值参数,M为正整数时,所述参考状态为第M个键值参数对应的状态。
可选地,在本发明实施例中,处理器502具体用于:
判断各状态消息携带的状态是否均与参考状态不同;
若是,根据各状态消息的接收顺序,确定最后接收到的状态消息中携带的状态对应的键值参数,并发送至页面;
若否,将各状态消息携带的状态中与参考状态相同的且最后接收到的状态定义为第一状态,将各状态消息携带的状态中与参考状态不同的且最后接收到的状态定义为第二状态,根据各状态消息的接收顺序,判断第一状态的接收顺序是否先于第二状态的接收顺序;
若先于,确定第二状态对应的键值参数并发送至页面;
若不先于,分别确定第一状态对应的第一键值参数,以及第二状态对应的第二键值参数,将第二键值参数和第一键值参数先后发送至页面。
基于同一发明构思,本发明实施例提供了一种播放器与页面的状态同步的装置,该装置的实现原理与前述一种播放器与页面的状态同步的方法的实现原理类似,该装置的具体实施方式可以参见前述方法的实施方式,重复之处不再赘述。
具体地,本发明实施例提供的上述播放器与页面的状态同步的装置,如图6所示,可以包括:
接收单元601,用于接收播放器当前发送的携带有状态的状态消息;
处理单元602,用于将状态消息存入消息队列中,并判断消息队列中的状态消息的数量是否大于或等于预设数量;若是,从消息队列中提取出预设数量的状态消息,确定提取出的各状态消息携带的状态,在判断出各状态消息携带的状态满足预设的键值参数发送条件时,根据确定出的各状态消息携带的状态,确定键值参数并发送至页面;若否,确定与状态消息携带的状态对应的键值参数并发送至页面。
基于同一发明构思,本发明实施例提供了一种计算机可读的非易失性存储介质,计算机可读的非易失性存储介质存储有计算机可执行指令,计算机可执行指令用于使计算执行本发明实施例提供的上述播放器与页面的状态同步的方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种播放器与页面的状态同步的方法,其特征在于,包括:
接收所述播放器当前发送的携带有状态的状态消息;
将所述状态消息存入消息队列中,并判断所述消息队列中的所述状态消息的数量是否大于或等于预设数量;
若是,从所述消息队列中提取出所述预设数量的所述状态消息,确定提取出的各所述状态消息携带的状态,在判断出各所述状态消息携带的状态满足预设的键值参数发送条件时,根据确定出的各所述状态消息携带的状态,确定键值参数并发送至所述页面;
若否,确定与所述状态消息携带的状态对应的键值参数并发送至所述页面。
2.如权利要求1所述的方法,其特征在于,在从所述消息队列中提取出所述预设数量的所述状态消息之后,该方法还包括:
将提取出的各所述状态消息存入预设的缓存池中;
在根据确定出的各所述状态消息携带的状态,确定键值参数并发送至所述页面之后,以及在判断出各所述状态消息携带的状态不满足预设的键值参数发送条件时,该方法还包括:
清空所述缓存池。
3.如权利要求2所述的方法,其特征在于,在将提取出的各所述状态消息存入预设的缓存池中时,该方法还包括:
锁定键值参数发送功能;
在根据确定出的各所述状态消息携带的状态,确定键值参数并发送至所述页面之前,该方法还包括:
释放所述键值参数发送功能;
确定与所述状态消息携带的状态对应的键值参数并发送至所述页面,具体包括:
在判断出所述键值参数发送功能被释放时,确定与所述状态消息携带的状态对应的键值参数并发送至所述页面。
4.如权利要求3所述的方法,其特征在于,锁定键值参数发送功能,具体包括:
将键值参数发送功能对应的标记修改为第一标记;
释放所述键值参数发送功能,具体包括:
将所述键值参数发送功能对应的标记修改为第二标记;
判断所述键值参数发送功能是否被释放,具体包括:
根据所述键值参数发送功能对应的标记,判断所述键值参数发送功能是否被释放。
5.如权利要求1所述的方法,其特征在于,所述预设的键值参数发送条件为:提取出的各所述状态消息携带的状态与参考状态相比至少部分不同;
其中,在接收到的当前的所述状态消息为第一个状态消息时,所述参考状态为预设的状态;或者,在接收到的当前的所述状态消息不是第一个状态消息,且已向所述页面发送过M个键值参数,M为正整数时,所述参考状态为第M个键值参数对应的状态。
6.如权利要求5所述的方法,其特征在于,根据确定出的各所述状态消息携带的状态,确定键值参数并发送至所述页面,具体包括:
判断各所述状态消息携带的状态是否均与所述参考状态不同;
若是,根据各所述状态消息的接收顺序,确定最后接收到的所述状态消息中携带的状态对应的键值参数,并发送至所述页面;
若否,将各所述状态消息携带的状态中与所述参考状态相同的且最后接收到的状态定义为第一状态,将各所述状态消息携带的状态中与所述参考状态不同的且最后接收到的状态定义为第二状态,根据各所述状态消息的接收顺序,判断所述第一状态的接收顺序是否先于所述第二状态的接收顺序;
若先于,确定所述第二状态对应的键值参数并发送至所述页面;
若不先于,分别确定所述第一状态对应的第一键值参数,以及所述第二状态对应的第二键值参数,将所述第二键值参数和所述第一键值参数先后发送至所述页面。
7.如权利要求1所述的方法,其特征在于,所述状态具有三种,所述预设数量为四。
8.一种播放器与页面的状态同步的设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的所述程序指令,按照获得的程序执行:
接收所述播放器当前发送的携带有状态的状态消息;
将所述状态消息存入消息队列中,并判断所述消息队列中的所述状态消息的数量是否大于或等于预设数量;
若是,从所述消息队列中提取出所述预设数量的所述状态消息,确定提取出的各所述状态消息携带的状态,在判断出各所述状态消息携带的状态满足预设的键值参数发送条件时,根据确定出的各所述状态消息携带的状态,确定键值参数并发送至所述页面;
若否,确定与所述状态消息携带的状态对应的键值参数并发送至所述页面。
9.如权利要求8所述的设备,其特征在于,所述处理器还用于:
在从所述消息队列中提取出所述预设数量的所述状态消息之后,将提取出的各所述状态消息存入预设的缓存池中;
在根据确定出的各所述状态消息携带的状态,确定键值参数并发送至所述页面之后,以及在判断出各所述状态消息携带的状态不满足预设的键值参数发送条件时,清空所述缓存池。
10.一种计算机可读的非易失性存储介质,其特征在于,所述计算机可读的非易失性存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算执行权利要求1-7任一项所述的播放器与页面的状态同步的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910817942.1A CN112449228B (zh) | 2019-08-30 | 2019-08-30 | 一种播放器与页面的状态同步的方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910817942.1A CN112449228B (zh) | 2019-08-30 | 2019-08-30 | 一种播放器与页面的状态同步的方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112449228A true CN112449228A (zh) | 2021-03-05 |
CN112449228B CN112449228B (zh) | 2024-05-31 |
Family
ID=74733851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910817942.1A Active CN112449228B (zh) | 2019-08-30 | 2019-08-30 | 一种播放器与页面的状态同步的方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112449228B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070130394A1 (en) * | 2005-11-18 | 2007-06-07 | Mobilic Technology Corp. | Self-synchronizing hardware/software interface for multimedia SOC design |
CN101478669A (zh) * | 2008-08-29 | 2009-07-08 | 百视通网络电视技术发展有限责任公司 | 一种iptv系统上基于浏览器的媒体播放控制方法 |
US20100226487A1 (en) * | 2009-03-09 | 2010-09-09 | Polycom, Inc. | Method & apparatus for controlling the state of a communication system |
CN105847981A (zh) * | 2016-05-25 | 2016-08-10 | 青岛海信电器股份有限公司 | 智能电视及其屏幕保护方法 |
US9928125B1 (en) * | 2017-07-13 | 2018-03-27 | International Business Machines Corporation | Message queueing in middleware by a message broker |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5956027A (en) * | 1995-12-12 | 1999-09-21 | At&T Corp | Method and apparatus for sharing a web page |
CN101365124B (zh) * | 2008-10-09 | 2011-11-30 | 中国电信股份有限公司 | 控制网络电视视频播放的方法、系统 |
CN105608078B (zh) * | 2014-10-28 | 2019-03-12 | 阿里巴巴集团控股有限公司 | 一种网页页面实时预览的方法和装置 |
CN104394450B (zh) * | 2014-11-14 | 2017-12-29 | 青岛海信宽带多媒体技术有限公司 | 一种多媒体帧的处理方法及装置 |
CN106708607B (zh) * | 2015-11-12 | 2020-12-22 | 创新先进技术有限公司 | 消息队列的拥塞控制方法和装置 |
CN108206787A (zh) * | 2016-12-17 | 2018-06-26 | 北京华为数字技术有限公司 | 一种拥塞避免方法和装置 |
CN109729119A (zh) * | 2017-10-30 | 2019-05-07 | 中兴通讯股份有限公司 | 一种协调数据同步数据的方法、装置、设备及存储介质 |
CN108881987A (zh) * | 2018-06-13 | 2018-11-23 | 青岛海信宽带多媒体技术有限公司 | 机顶盒的媒体播放控制方法、装置、设备及存储介质 |
-
2019
- 2019-08-30 CN CN201910817942.1A patent/CN112449228B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070130394A1 (en) * | 2005-11-18 | 2007-06-07 | Mobilic Technology Corp. | Self-synchronizing hardware/software interface for multimedia SOC design |
CN101478669A (zh) * | 2008-08-29 | 2009-07-08 | 百视通网络电视技术发展有限责任公司 | 一种iptv系统上基于浏览器的媒体播放控制方法 |
US20100226487A1 (en) * | 2009-03-09 | 2010-09-09 | Polycom, Inc. | Method & apparatus for controlling the state of a communication system |
CN105847981A (zh) * | 2016-05-25 | 2016-08-10 | 青岛海信电器股份有限公司 | 智能电视及其屏幕保护方法 |
US9928125B1 (en) * | 2017-07-13 | 2018-03-27 | International Business Machines Corporation | Message queueing in middleware by a message broker |
Also Published As
Publication number | Publication date |
---|---|
CN112449228B (zh) | 2024-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11303687B2 (en) | Streaming application environment with remote device input synchronization | |
CN103631661B (zh) | 一种内存管理方法和装置 | |
CN111882626A (zh) | 图像处理方法、装置、服务器及介质 | |
CN111552565A (zh) | 一种多线程投屏方法和装置 | |
CN107484011B (zh) | 一种视频资源解码方法及装置 | |
CN108664229B (zh) | 传屏方法、装置、电子设备及计算机可读存储介质 | |
CN110191348A (zh) | 视频直播中互动消息的处理方法及装置 | |
CN103760966A (zh) | 一种实现图形缓冲的方法 | |
CN102638402B (zh) | 流媒体双缓存技术中填充数据的方法及装置 | |
US10231005B2 (en) | Operation instructing method and apparatus for remote controller of intelligent television | |
US20220308747A1 (en) | Streaming application environment with recovery of lost or delayed input events | |
CN112286637A (zh) | 计算资源的调整方法及装置 | |
CN102959955A (zh) | 共享图像 | |
CN108449634B (zh) | 一种多进程解码的播放方法、计算机设备和存储介质 | |
CN109218817B (zh) | 一种显示虚拟礼物提示消息的方法和装置 | |
CN112351333A (zh) | 一种数据传输方法、设备及介质 | |
CN115955590A (zh) | 视频处理方法、装置、计算机设备、介质 | |
CN106412630B (zh) | 视频列表切换控制方法及装置 | |
CN109062650B (zh) | 弹幕消息分发方法、装置、设备及存储介质 | |
CN112449228B (zh) | 一种播放器与页面的状态同步的方法及设备 | |
CN109144613B (zh) | Android清晰度切换方法、装置、终端及可读介质 | |
CN114095451B (zh) | 一种数据处理方法、设备及计算机可读存储介质 | |
CN105392028A (zh) | 一种数据的传输方法及装置 | |
CN108334294B (zh) | 一种操控数据处理方法及装置 | |
CN104133835B (zh) | 一种界面元素下载的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |