本发明涉及智能电视技术领域,特别是涉及一种播放控制方法及装置。
背景技术:
目前大部分智能电视设备上都会集成浏览器,用户经常会使用浏览器播放网络视频。目前主流网页都采用html5技术实现,并且网页中的视频大部分都是采用html技术中的video标签编写。然而网站都不会为电视设备定制专门的网页,因此用户使用电视设备打开的网页基本上与pc设备或ipad设备看到的一致。这些网页的视频播放基本上都是小窗口播放,这种视频播放模式在pc上体验还不错,但在电视设备上的体验就很不好,尤其是专门的视频网站,这种默认小窗口播放的模式对于非近距离观看的电视设备来说就显得没那么友好。并且,pc视频网站视频的播控条的交互设计都是采用鼠标操作的形式,在电视上往往不能很方便的进行操控,体验很差。
技术实现要素:
本发明提供播放控制方法及装置,以实现在智能电视设备的浏览器上视频的自动全屏播放,提升用户的使用体验。
本发明提供了一种播放控制方法,包括:
根据用户对视频文件的播放控制事件触发,获取所述视频文件的video对象属性信息;
基于所述video对象属性信息发送针对所述播放控制事件的操作请求;
基于接收到的操作响应进行对应的播放控制操作。
优选地,所述获取所述视频文件的video对象属性信息,包括:
根据预先配置的特定代码获取所述视频文件所属网页的video对象属性信息。
优选地,所述根据预先配置的特定代码获取所述视频文件所属网页的video对象属性信息,包括:
基于所述视频文件查找其所属网页;
并将用户预先输入的特定代码配置于所述视频文件所属网页对应的代码中;
基于所述特定代码获取所述网页的video对象属性信息。
优选地,所述播放控制事件为指示当前视频按照所选的显示模式进行显示的事件,
所述显示模式包括如下任一项:
全屏显示模式;
预设的显示模式。
优选地,所述基于所述video对象属性信息发送针对所述播放控制事件的操作请求,包括:
发送针对将所述视频文件按照所选的显示模式进行显示的操作请求,且在所述操作请求中携带有所述video对象属性信息,以使接收端根据所选的显示模式对所述video对象属性信息进行适应性调整。
优选地,所述基于接收到的操作响应进行对应的播放控制操作,包括:
接收所述操作响应,并获取所述操作响应中携带的调整后的video对象属性信息;
基于调整后的video对象属性信息将所述视频文件按照所选的显示模式进行显示。
优选地,在对所述视频文件按照所选的显示模式进行显示时,还包括:
播放所述视频文件,该播放的视频文件在ui窗口上显示;
并向所述ui窗口发送所述视频文件按照所选的显示模式进行播放的第一通知消息,以使所述ui窗口根据所述第一通知消息调整播控条的播控图标。
优选地,还包括:
接收ui窗口基于用户触发所发送的针对其所显示的视频文件播放控制的第二通知消息;
根据所述第二通知消息对所述视频文件进行对应的播放控制处理;
并将该对应的播放控制处理通过第一通知消息发送给ui窗口,以使所述ui窗口根据所述第一通知消息调整播控条的播控图标。
本发明还提供了一种播放控制装置,包括:
获取单元,用于根据用户对视频文件的播放控制事件触发,获取所述视频文件的video对象属性信息;
发送单元,用于基于所述video对象属性信息发送针对所述播放控制事件的操作请求;
第一处理单元,用于基于接收到的操作响应进行对应的播放控制操作。
优选地,所述获取单元,用于根据预先配置的特定代码获取所述视频文件所属网页的video对象属性信息。
优选地,所述获取单元,具体用于基于所述视频文件查找其所属网页;并将用户预先输入的特定代码配置于所述视频文件所属网页对应的代码中;基于所述特定代码获取所述网页的video对象属性信息。
优选地,所述播放控制事件为指示当前视频按照所选的显示模式进行显示的事件,
所述显示模式包括如下任一项:
全屏显示模式;
预设的显示模式。
优选地,所述发送单元,用于发送针对将所述视频文件按照所选的显示模式进行显示的操作请求,且在所述操作请求中携带有所述video对象属性信息,以使接收端根据所选的显示模式对所述video对象属性信息进行适应性调整。
优选地,所述第一处理单元,用于接收所述操作响应,并获取所述操作响应中携带的调整后的video对象属性信息;基于调整后的video对象属性信息将所述视频文件按照所选的显示模式进行显示。
优选地,在对所述视频文件按照所选的显示模式进行显示时,还包括:
第二处理单元,用于播放所述视频文件,该播放的视频文件在ui窗口上显示;并向所述ui窗口发送所述视频文件按照所选的显示模式进行播放的第一通知消息,以使所述ui窗口根据所述第一通知消息调整播控条的播控图标。
优选地,还包括:
第三处理单元,用于接收ui窗口基于用户触发所发送的针对其所显示的视频文件播放控制的第二通知消息;根据所述第二通知消息对所述视频文件进行对应的播放控制处理;并将该对应的播放控制处理通过第一通知消息发送给ui窗口,以使所述ui窗口根据所述第一通知消息调整播控条的播控图标。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述播放控制方法。
本发明还提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述播放控制方法对应的操作。
与现有技术相比,本发明至少具有以下优点:
根据用户对视频文件的播放控制事件触发,获取所述视频文件的video对象属性信息;并基于所述video对象属性信息发送针对所述播放控制事件的操作请求;基于接收到的操作响应进行对应的播放控制操作,实现了将网站视频默认小窗口播放形式自动更改为全屏播放,提升了用户使用浏览器播放视频时的体验;且提供了良好的播控交互,即通过在ui窗口上新增播控条,且该播控条显示控制的指示信息与视频播放操作的信息相匹配,从而提升了用户的播放操作控制体验。
附图说明
图1是本发明实施例所提供的播放控制方法的流程示意图;
图2是本发明实施例所提供的播放控制方法的具体流程示意图;
图3是本发明实施例所提供的uiwindow中的播控条示意图;
图4是本发明实施例所提供的播放控制装置的结构示意图。
具体实施方式
本发明提出一种播放控制方法及装置,下面结合附图,对本发明具体实施方式进行详细说明。
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
如图1所示,为本发明实施例所提供的一种播放控制方法流程图,该流程包括如下步骤:
步骤101,根据用户对视频文件的播放控制事件触发,获取所述视频文件的video对象属性信息。
步骤102,基于所述video对象属性信息发送针对所述播放控制事件的操作请求。
步骤103,基于接收到的操作响应进行对应的播放控制操作。
基于上述本发明实施例所提供的播放控制方法,本发明实施例还提供了该播放控制方法的具体处理流程图,如图2所示,包括如下步骤:
步骤201,监测到用户在ui窗口上对视频文件的播放控制事件触发。
其中,该播放控制事件为指示当前视频按照所选的显示模式进行显示的事件,
显示模式包括如下任一项:
全屏显示模式;
预设的显示模式。
该预设的显示模式可以为16:9、4:3等其他自定义模式。
在一实施例中,用户打开智能电视设备的网页,在其中选择一个待播放的视频文件,在利用遥控器对该视频文件进行播放控制时,该智能电视设备会通过自身的ui窗口进行对应的播放控制事件触发,如该播放控制事件为开启全屏显示模式。
其中,为了实现该播放控制事件触发,可以在该视频文件待播放时的小窗口显示区域添加一个监听层以实现对触发该视频文件的监听,也即可以为该监听层为一个点击的click事件。
步骤202,根据预先配置的特定代码获取所述视频文件所属网页的video对象属性信息。
本步骤中,该根据预先配置的特定代码获取所述视频文件所属网页的video对象属性信息的处理,包括:
基于所述视频文件查找其所属网页;
并将用户预先输入的特定代码配置于所述视频文件所属网页对应的代码中;
基于所述特定代码获取所述网页的video对象属性信息。
具体地,基于用户所选择的视频文件,对该视频文件的所属网页进行查找搜索,并在查找到该网页后,基于自定义的javascript代码(简称userjs),将该userjs代码写入到该网页的代码表中,以通过该代码实现对网页的video对象信息获取以及进行相应的播放控制执行处理。
步骤203,基于video对象属性信息发送针对播放控制事件的操作请求。
本步骤中,该基于video对象属性信息发送针对播放控制事件的操作请求的处理,包括:
发送针对将所述视频文件按照所选的显示模式进行显示的操作请求,且在该操作请求中携带有video对象属性信息,以使接收端根据所选的显示模式对所述video对象属性信息进行适应性调整。
在一实施例中,通过click事件的处理函数来调用该video对象属性信息,以使网页根据开启全屏模式的请求来将该video对象属性信息调整为支持全屏的属性参数。在调整之后,该网页会将该调整结果以响应消息形式进行回传。
步骤204,基于接收到的操作响应进行对应的播放控制操作。
本步骤中,该基于接收到的操作响应进行对应的播放控制操作的处理,包括:
接收所述操作响应,并获取所述操作响应中携带的调整后的video对象属性信息;
基于调整后的video对象属性信息将所述视频文件按照所选的显示模式进行显示。
步骤205,在ui窗口对该视频文件按照所选的显示模式进行显示。
本步骤中,基于该操作响应,会播放该视频文件,且该播放的视频文件在ui窗口上显示;并向ui窗口发送视频文件按照所选的显示模式进行播放的第一通知消息,以使所述ui窗口根据所述第一通知消息调整播控条的播控图标。
还包括:
接收ui窗口基于用户触发所发送的针对其所显示的视频文件播放控制的第二通知消息;
根据所述第二通知消息对所述视频文件进行对应的播放控制处理;
并将该对应的播放控制处理通过第一通知消息发送给ui窗口,以使所述ui窗口根据所述第一通知消息调整播控条的播控图标。
其中,在下述实施例中,该uiwindow也即ui窗口。对于用户触发的针对视频文件的播放控制,具体通过触发uiwindow上的播控条来实现,该播控条如图3所示,可以包括如开始、暂停、快进、后退等。对于这些播放控制的实现,需要userjs代码的预先配置,包括如下:
1.在该视频文件的网页加载完成后,查询整个网页的dom树,在其中查找video标签元素。
2.对ui窗口上的播控条上的各图标的功能配置:
videobackward:通过设置video的currenttime属性,可以实现执行视频快退。
videoplaypause:若当前视频文件在播放,则将视频暂停(video.pause()),若视频处于暂停状态,则将视频起播(video.paly())。
videostop:执行视频文件停止播放(video.pause()并将video的currenttime属性设为0)。
videoforward:通过设置video的currenttime属性执行视频快进。
videosetpercentage:通过设置video的currenttime属性执行视频的选时播放。
videoexitfullscreen:执行视频退出全屏。
3.定义如下标准消息(通过将video属性信息发送至ui窗口,使得ui窗口可以对图标进行响应更改):
videoended:视频已播放结束。uiwindow在收到该消息后触发退出全屏按钮的click动作。
videoplayed:视频已起播。uiwindow在收到该消息后更新对应的播控图标。
videopaused:视频已暂停。uiwindow在收到该消息后更新对应的播控图标。
videoplaying:视频正在播放。uiwindow在收到该消息后更新对应的播控图标。
videowaiting:视频在等待。uiwindow收到该消息后显示缓冲圈。
videotimeupdate:视频播放时间已更新。uiwindow收到该消息后更新当前播放时间及进度。
videofullscreen:视频播放已全屏。uiwindow收到该消息后显示ui窗口的播控条。
4.为video对象注册播控事件处理函数并实现其逻辑(也即建立video对象与ui窗口间的关系),包括:
ontimeupdate事件:获取视频当前播放事件并计算播放进度,发送videotimeupdate消息至uiwindow。
onwaiting事件:向uiwindow发送videowaiting的消息。
onplaying事件:向uiwindow发送videoplaying的消息。
onplay事件:向uiwindow发送videoplayed的消息。
onpause事件:向uiwindow发送videopaused的消息。
onended事件:向uiwindow发送videoended的消息。
onwebkitfullscreenchange事件:查看当前视频是否处于全屏状态,若是,调用video.play()起播视频;若否,调用video.pause()暂停视频,并发送消息将全屏状态通知到uiwindow。
其中,整个播控事件在两个不同的window中实现。其中,video对象的播控响应逻辑随着userjs代码被注入到了主window中,即加载用户访问网页的window。播控ui的绘制、交互逻辑及按键响应逻辑在uiwindow中实现,即播控用户操作界面window。
基于上述本发明实施例所提供的技术方案,下面以一个具体实施例进行具体阐述。
当用户点击智能电视设备的uiwindow上的视频小窗口区域时触发click事件,通过调用webkitrequestfullscreen函数请求视频全屏,视频的全屏化触发onwebkitfullscreenchange事件,此时在该事件处理中我们将该视频起播(video.play()),视频起播后(onplay)向uiwindow发送消息,将视频已全屏起播的状态(videoplayed)通知到uiwindow,uiwindow在收到消息后更新对应的播控图标。
以暂停为例,用户在全屏观看视频过程中,可以按遥控器的暂停键或者点击播控条的暂停按钮,此动作被uiwindow捕获并向主window发送videoplaypause消息,主window收到该消息后对video对象执行暂停动作(video.pause()),此时视频画面暂停并有onpause事件被触发,在onpause处理函数中向uiwindow发送消息,将视频暂停的状态(videopaused)通知到uiwindow,再由uiwindow根据收到的消息后对播控图标进行对应的更新。
其中,上述所举具体实施例仅是为了说明本发明技术方案所阐述的一种具体实施方式,对于其他的操作处理如快进、快退、播放等流程,由于处理流程与该具体实施例过程类似,故不再赘述。
本发明中,实现了将网站视频默认小窗口播放形式自动更改为全屏播放,提升了用户使用浏览器播放视频时的体验;且提供了良好的播控交互,即通过在ui窗口上新增播控条,且该播控条显示控制的指示信息与视频播放操作的信息相匹配,从而提升了用户的播放操作控制体验。
基于上述本发明实施例所提供的播放控制方法,本发明还提供了一种播放控制装置,如图4所示,包括:
获取单元41,用于根据用户对视频文件的播放控制事件触发,获取所述视频文件的video对象属性信息;
发送单元42,用于基于所述video对象属性信息发送针对所述播放控制事件的操作请求;
第一处理单元43,用于基于接收到的操作响应进行对应的播放控制操作。
优选地,所述获取单元,用于根据预先配置的特定代码获取所述视频文件所属网页的video对象属性信息。
优选地,所述获取单元41,具体用于基于所述视频文件查找其所属网页;并将用户预先输入的特定代码配置于所述视频文件所属网页对应的代码中;基于所述特定代码获取所述网页的video对象属性信息。
优选地,所述播放控制事件为指示当前视频按照所选的显示模式进行显示的事件,
所述显示模式包括如下任一项:
全屏显示模式;
预设的显示模式。
优选地,所述发送单元42,用于发送针对将所述视频文件按照所选的显示模式进行显示的操作请求,且在所述操作请求中携带有所述video对象属性信息,以使接收端根据所选的显示模式对所述video对象属性信息进行适应性调整。
优选地,所述第一处理单元43,用于接收所述操作响应,并获取所述操作响应中携带的调整后的video对象属性信息;基于调整后的video对象属性信息将所述视频文件按照所选的显示模式进行显示。
优选地,在对所述视频文件按照所选的显示模式进行显示时,还包括:
第二处理单元44,用于播放所述视频文件,该播放的视频文件在ui窗口上显示;并向所述ui窗口发送所述视频文件按照所选的显示模式进行播放的第一通知消息,以使所述ui窗口根据所述第一通知消息调整播控条的播控图标。
优选地,还包括:
第三处理单元45,用于接收ui窗口基于用户触发所发送的针对其所显示的视频文件播放控制的第二通知消息;根据所述第二通知消息对所述视频文件进行对应的播放控制处理;并将该对应的播放控制处理通过第一通知消息发送给ui窗口,以使所述ui窗口根据所述第一通知消息调整播控条的播控图标。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述播放控制方法。
本发明还提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述播放控制方法对应的操作。
与现有技术相比,本发明至少具有以下优点:
根据用户对视频文件的播放控制事件触发,获取所述视频文件的video对象属性信息;并基于所述video对象属性信息发送针对所述播放控制事件的操作请求;基于接收到的操作响应进行对应的播放控制操作,实现了将网站视频默认小窗口播放形式自动更改为全屏播放,提升了用户使用浏览器播放视频时的体验;且提供了良好的播控交互,即通过在ui窗口上新增播控条,且该播控条显示控制的指示信息与视频播放操作的信息相匹配,从而提升了用户的播放操作控制体验。
本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。