CN111045674A - 一种播放器的交互方法和装置 - Google Patents
一种播放器的交互方法和装置 Download PDFInfo
- Publication number
- CN111045674A CN111045674A CN201911296488.6A CN201911296488A CN111045674A CN 111045674 A CN111045674 A CN 111045674A CN 201911296488 A CN201911296488 A CN 201911296488A CN 111045674 A CN111045674 A CN 111045674A
- Authority
- CN
- China
- Prior art keywords
- interface control
- player
- interface
- script
- instance
- 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 70
- 230000002452 interceptive effect Effects 0.000 title claims description 89
- 238000013515 script Methods 0.000 claims abstract description 180
- 230000003993 interaction Effects 0.000 claims abstract description 88
- 230000008569 process Effects 0.000 claims abstract description 29
- 238000006243 chemical reaction Methods 0.000 claims description 32
- 230000004044 response Effects 0.000 claims description 25
- 239000012634 fragment Substances 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 14
- 230000008859 change Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000003860 storage Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 239000010979 ruby Substances 0.000 description 2
- 229910001750 ruby Inorganic materials 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000011840 criminal investigation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明实施例提供了一种播放器的交互方法和装置,所述方法包括:加载动态界面控件脚本以及界面控件的布局文件;所述动态界面控件脚本以及所述布局文件由预设的服务器下发得到;在所述播放器播放多媒体内容的过程中,通过执行所述动态界面控件脚本,对所述布局文件进行解析,在预设的播放器界面生成界面控件,获取用户作用于所述播放器界面中所述界面控件的交互事件,并响应所述交互事件,在所述播放器界面中展示交互内容。通过本发明实施例的播放器的交互方法,通过动态界面控件脚本以及布局文件生成界面控件。并且通过服务器下发动态界面控件脚本以及布局文件,即可完成界面控件的更新,并响应用户的交互事件,提高了界面控件的灵活性。
Description
技术领域
本发明涉及多媒体播放技术领域,特别是涉及一种播放器的交互方法和一种播放器的交互装置。
背景技术
在现有技术中,播放器在播放多媒体的过程中,用户可以在播放器中执行预设的动作,对所述播放器进行多媒体播放控制。例如,用户可以在播放过程中双击屏幕中央,暂停多媒体播放。用户也可以在播放过程中双击屏幕左侧,使多媒体后退10秒。用户也可以在播放过程中滑动多媒体,使播放器播放下一个多媒体。
但是,播放器中用户可以执行的操作通常是客户端预设的。当需要更新用户可以执行的操作时,都需相应地更新客户端,灵活度较低。并且,当前用户在播放器中执行的操作通常只包括用户对播放器多媒体播放的控制,导致用户可以操作的功能较少。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种播放器的交互方法和相应的一种播放器的交互装置。
为了解决上述问题,本发明实施例公开了一种播放器的交互方法,包括:
加载动态界面控件脚本以及界面控件的布局文件;所述动态界面控件脚本以及所述布局文件由预设的服务器下发得到;
在所述播放器播放多媒体内容的过程中,通过执行所述动态界面控件脚本,对所述布局文件进行解析,在预设的播放器界面生成界面控件;
获取用户作用于所述播放器界面中所述界面控件的交互事件,并响应所述交互事件,在所述播放器界面中展示交互内容。
可选地,所述通过执行所述动态界面控件脚本,对所述布局文件进行解析,在预设的播放器界面生成界面控件的步骤,包括:
通过执行所述动态界面控件脚本,对所述布局文件进行解析,生成界面控件实例;
加载所述界面控件实例,在预设的播放器界面展示所述界面控件实例对应的界面控件。
可选地,所述播放器的宿主程序中设置有虚拟机程序;
所述通过执行所述动态界面控件脚本,对所述布局文件进行解析,在预设的播放器界面生成界面控件的步骤,包括:
采用所述虚拟机程序执行所述动态界面控件脚本,对所述布局文件进行解析,生成界面视图实例以及事件节点实例;
采用所述虚拟机程序将所述事件节点实例绑定至所述界面视图实例,生成适配虚拟机环境的界面控件实例;
采用预设的环境转换对象,将适配所述虚拟机环境的界面控件实例,转换为适配宿主环境的界面控件实例。
采用所述宿主程序加载所述界面控件实例,在预设的播放器界面展示所述界面控件实例对应的界面控件。
可选地,所述响应所述交互事件,在所述播放器界面中展示交互内容的步骤,包括:
通过执行所述动态界面控件脚本,响应所述交互事件;
在所述动态界面控件脚本中,确定所述交互事件对应的脚本片段;
通过执行所述脚本片段,在所述播放器界面中展示所述交互内容中的交互界面内容,和/或,将所述交互内容中的交互多媒体内容确定为所述播放器新的播放的多媒体内容。
本发明实施例还公开了一种播放器的交互装置,包括:
加载模块,用于加载动态界面控件脚本以及界面控件的布局文件;所述动态界面控件脚本以及所述布局文件由预设的服务器下发得到;
生成模块,用于在所述播放器播放多媒体内容的过程中,通过执行所述动态界面控件脚本,对所述布局文件进行解析,在预设的播放器界面生成界面控件;
交互模块,用于获取用户作用于所述播放器界面中所述界面控件的交互事件,并响应所述交互事件,在所述播放器界面中展示交互内容。
可选地,所述生成模块包括:
第一实例生成子模块,用于通过执行所述动态界面控件脚本,对所述布局文件进行解析,生成界面控件实例;
控件生成子模块,用于加载所述界面控件实例,在预设的播放器界面展示所述界面控件实例对应的界面控件。
可选地,所述播放器的宿主程序中设置有虚拟机程序;
所述生成模块包括:
第二实例生成子模块,用于采用所述虚拟机程序执行所述动态界面控件脚本,对所述布局文件进行解析,生成界面视图实例以及事件节点实例;
第三实例生成子模块,用于采用所述虚拟机程序将所述事件节点实例绑定至所述界面视图实例,生成适配虚拟机环境的界面控件实例;
转换子模块,用于采用预设的环境转换对象,将适配所述虚拟机环境的界面控件实例,转换为适配宿主环境的界面控件实例;
展示子模块,用于采用所述宿主程序加载所述界面控件实例,在预设的播放器界面展示所述界面控件实例对应的界面控件。
可选地,所述交互模块包括:
响应子模块,用于通过执行所述动态界面控件脚本,响应所述交互事件;
确定子模块,用于在所述动态界面控件脚本中,确定所述交互事件对应的脚本片段;
执行子模块,用于通过执行所述脚本片段,在所述播放器界面中展示所述交互内容中的交互界面内容,和/或,将所述交互内容中的交互多媒体内容确定为所述播放器新的播放的多媒体内容。。
本发明实施例还公开了一种装置,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行如本发明实施例所述的一个或多个的方法。
本发明实施例还公开了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本发明实施例所述的一个或多个的方法。
本发明实施例包括以下优点:
通过本发明实施例的播放器的交互方法,通过执行所述动态界面控件脚本,对所述布局文件进行解析,在预设的播放器界面生成界面控件。从而无需更新播放器,即可通过动态界面控件脚本以及布局文件生成界面控件。并且通过服务器下发动态界面控件脚本以及布局文件,即可完成界面控件的更新,提高了界面控件的灵活性。同时,还可以通过所述界面控件,获取用户作用于播放器界面的交互事件,并相应地展示交互内容,实现通过界面控件与用户之间的交互,为用户提供更多可操作的功能。
附图说明
图1是本发明的一种播放器的交互方法实施例的步骤流程图;
图2是本发明的另一种播放器的交互方法实施例的步骤流程图;
图3是本发明的一种界面控件实例的示意图;
图4是本发明的一种播放器的结构框图;
图5是本发明的一种播放器的交互装置实施例的结构框图;
图6是本发明的一种电子设备的示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明的一种播放器的交互方法实施例的步骤流程图。为了实现动态生成播放器的界面,本发明实施例提供一种播放器的交互方法,具体可以包括如下步骤:
步骤101,加载动态界面控件脚本以及界面控件的布局文件;所述动态界面控件脚本以及所述布局文件由预设的服务器下发得到;
在本发明实施例中,所述播放器可以用于播放多媒体内容。所述多媒体内容可以包括视频、音频、图片等。所述播放器可以设置于一电子设备中,所述电子设备可以为台式电脑、笔记本电脑、平板电脑、手机、电视等,本发明对此不做限制。
在本发明实施例中,所述动态界面控件脚本可以用于生成界面控件。所述布局文件可以用于描述所述界面控件在播放器界面上的布局方式以及对事件的响应方式。
在本发明实施例中,所述动态界面控件脚本以及所述布局文件可以是适用于所有多媒体内容的,也可以是针对至少一个特定的多媒体内容的,本发明对此不做限制。
在本发明实施例中,可以预设一服务器,所述服务器可以与所述播放器通过网络进行数据传输,从而所述服务器可以向所述播放器下发所述动态界面控件脚本以及所述布局文件。
在本发明实施例中,所述服务器可以向所述播放器主动下发所述动态界面控件脚本以及所述布局文件。所述服务器还可以响应播放器发送的界面控件更新请求,向所述播放器下发所述动态界面控件脚本以及所述布局文件。
作为本发明的一种示例,所述服务器可以在自身存储的所述动态界面控件脚本以及所述布局文件被更新后,向所述播放器下发更新后的所述动态界面控件脚本以及所述布局文件。
作为本发明的一种示例,所述服务器可以获取所述播放器的多自媒体内容加载请求,并在向所述播放器返回多媒体内容的过程中,向所述播放器下发所述动态界面控件脚本以及所述布局文件。
作为本发明的一种示例,所述播放器可以启动时,或者在响应用户多媒体播放操作,准备加载多媒体内容时,向所述服务器发送界面控件更新请,并获取所述服务器返回的所述动态界面控件脚本以及所述布局文件。
在本发明实施例中,所述播放器在获取所述动态界面控件脚本以及所述布局文件后,可以加载所述动态界面控件脚本以及所述布局文件,从而所述播放器可以通过执行所述动态界面控件脚本,动态地加载界面控件。
步骤102,在所述播放器播放多媒体内容的过程中,通过执行所述动态界面控件脚本,对所述布局文件进行解析,在预设的播放器界面生成界面控件。
在本发明实施例中,在所述播放器播放多媒体内容的过程中,所述播放器可以通过执行所述动态界面控件脚本,对所述布局文件进行解析,从而可以在预设的播放器界面上生成界面控件。从而所述播放器可以动态地加载界面控件,而不受播放器版本更新的限制。在希望所述播放器的界面控件变化时,可以通过服务器下发新的动态界面控件脚本以及布局文件,即可完成所述播放器的界面控件的更新。
在本发明实施例中,所述动态界面控件脚本中可以预设有至少一个时间点。所述播放器可以执行所述动态界面控件脚本,并对所述布局文件进行解析。在所述播放器播放多媒体内容的过程中,在到达所述动态界面控件脚本指定的时间点的情况下,可以在所述预设的播放器界面生成界面控件。进一步地,若所述播放器继续播放多媒体内容,到达所述动态界面控件脚本指定的另一时间点,可以在所述预设的播放器界面生成新的界面控件。从而在所述播放器继续播放多媒体内容的过程中,所述播放器还可以动态地更新所述界面控件,为用户提供动态的界面展示以及更丰富的操作功能。
作为本发明的一种可选的实施方式,所述动态的界面展示可以包括:在播放器界面展示可动的界面控件;在播放器界面展示用户可操作的界面控件;根据多媒体内容的类型,在播放器界面展示相应风格的界面控件;根据时事热点、内容推销等需求,在播放时界面展示相应内容的界面控件等,本发明对此不做限制。
作为本发明的一种示例,所述播放器可以加载动态界面控件脚本以及界面控件的布局文件,在所述播放器播放自然类型的纪录片的过程中,通过执行所述动态界面控件脚本,对所述布局文件进行解析,在预设的播放器界面生成自然风格的播放控制控件,供用户操作。
作为本发明的一种示例,所述播放器可以在加载动态界面控件脚本以及界面控件的布局文件,在所述播放器播放刑侦类型的电视剧的过程中,通过执行所述动态界面控件脚本,对所述布局文件进行解析,在电视剧播放至涉及专业术语的内容时,通过执行所述动态界面控件脚本,对所述布局文件进行解析,在预设的播放器界面生成界面控件。所述界面控件可以在所述播放器界面展示文字和/或动画,对所述专业术语进行解释。
作为本发明的一种示例,所述播放器可以在加载动态界面控件脚本以及界面控件的布局文件,在所述播放器播放网络直播的过程中,通过执行所述动态界面控件脚本,对所述布局文件进行解析,在播放器界面生成界面控件,以展示动态图案如飞舞的心形图案、动态滤镜等,或者展示动态文字。
作为本发明的一种示例,所述播放器可以在加载动态界面控件脚本以及界面控件的布局文件,在所述播放器播放多媒体内容的过程中,通过执行所述动态界面控件脚本,对所述布局文件进行解析,在播放器界面生成界面控件,以展示时事热点信息、广告信息、或者与当前播放的多媒体内容相似的其他多媒体内容推荐信息。
作为本发明的一种示例,所述播放器可以在加载动态界面控件脚本以及界面控件的布局文件,在所述播放器播放多媒体内容的过程中,通过执行所述动态界面控件脚本,基于所述播放器对应的用户属性信息、用户所处地域、当前网络环境等信息,确定播放器下一个播放的多媒体内容,对所述布局文件进行解析,在播放器界面生成界面控件,所述界面控件用于展示所述播放器即将播放的下一个多媒体内容的简介信息。
步骤103,获取用户作用于所述播放器界面中所述界面控件的交互事件,并响应所述交互事件,在所述播放器界面中展示交互内容。
在本发明实施例中,所述界面控件可以响应用户的操作,用户可以通过连接所述电子设备的输入设备,如键盘、鼠标、触摸屏、麦克风等,输入针对所述界面控件的操作。从而所述播放器可以获取用户作用于所述播放器界面中所述界面控件的交互事件。
在本发明实施例中,所述针对所述界面控件的操作可以为点击、滑动、长按、输入文字、输入语音等,本发明对此不做限制。
在本发明实施例中,所述播放器可以响应所述交互事件,在所述播放器界面展示交互内容,实现所述播放器展示的内容可以跟随用户操作,相应地变化,为用户提供更多的控制功能。
在本发明实施例中,所述交互内容可以包括用户在播放器的界面中可见的内容。例如,所述播放器界面中的界面控件、所述播放器播放的多媒体内容等。
作为本发明的一种示例,所述界面控件可以为投票界面,所述播放器可以响应用户作用于所述投票界面的投票选项,展示一投票结果界面,以告知用户投票结果。
作为本发明的一种示例,所述界面控件可以为心形图标,所述播放器可以响应用户作用于所述心形图标的点击操作,展示在所述播放器界面中飞舞的动态气泡图案,以提供所述点击操作的反馈。
作为本发明的一种示例,所述播放器界面可以通过界面控件,展示当前播放多媒体内容相关的多媒体内容推荐。所述播放器可以响应用户作用于所述多媒体内容推荐上的操作,确定用户选择的交互多媒体内容,在所述播放器界面中,将所述交互多媒体内容确定为所述播放器新的播放的多媒体内容,从而实现根据用户操作选择下一个播放的多媒体内容。
通过本发明实施例的播放器的交互方法,通过执行所述动态界面控件脚本,对所述布局文件进行解析,在预设的播放器界面生成界面控件。从而无需更新播放器,即可通过动态界面控件脚本以及布局文件生成界面控件。并且通过服务器下发动态界面控件脚本以及布局文件,即可完成界面控件的更新,提高了界面控件的灵活性。同时,还可以通过所述界面控件,获取用户作用于播放器界面的交互事件,并相应地展示交互内容,实现通过界面控件与用户之间的交互,为用户提供更多可操作的功能。
参照图2,示出了本发明的另一种播放器的交互方法实施例的步骤流程图,具体可以包括如下步骤:
步骤201,加载动态界面控件脚本以及界面控件的布局文件;所述动态界面控件脚本以及所述布局文件由预设的服务器下发得到;
在本发明实施例中,所述播放器可以用于播放多媒体内容。所述多媒体内容可以包括视频、音频、图片等。所述播放器可以设置于一电子设备中,所述电子设备可以为台式电脑、笔记本电脑、平板电脑、手机、电视等,本发明对此不做限制。
在本发明实施例中,所述动态界面控件脚本可以用于生成界面控件。所述布局文件可以用于描述所述界面控件在播放器界面上的布局方式以及对事件的响应方式。
在本发明实施例中,所述动态界面控件脚本以及所述布局文件可以是适用于所有多媒体内容的,也可以是针对至少一个特定的多媒体内容的,本发明对此不做限制。
在本发明实施例中,可以预设一服务器,所述服务器可以与所述播放器通过网络进行数据传输,从而所述服务器可以向所述播放器下发所述动态界面控件脚本以及所述布局文件。
在本发明实施例中,所述服务器可以向所述播放器主动下发所述动态界面控件脚本以及所述布局文件。所述服务器还可以响应播放器发送的界面控件更新请求,向所述播放器下发所述动态界面控件脚本以及所述布局文件。
在本发明实施例中,所述播放器在获取所述动态界面控件脚本以及所述布局文件后,可以加载所述动态界面控件脚本以及所述布局文件,从而所述播放器可以通过执行所述动态界面控件脚本,动态地加载界面控件。
步骤202,通过执行所述动态界面控件脚本,对所述布局文件进行解析,生成界面控件实例;
在本发明实施例中,所述界面控件实例可以为用于在播放器界面生成界面控件的信息。具体地,所述界面控件实例可以为文档对象模型(Document ObjectModel,DOM)树形结构信息。
在本发明实施例中,所述布局文件可以包括所述界面控件的配置信息。所述界面控件可以为图形元素和/或文字元素的组合。所述配置信息可以包括界面控件的布局位置信息、所述界面控件所包含的图形元素和/或文字元素的信息、所述图形元素和/或文字元素的布局位置信息,所述界面控件对应的事件节点信息等,本发明对此不做限制。
在本发明实施例中,所述播放器可以通过执行所述动态界面控件脚本,对所述布局文件进行解析,获取所述布局文件中所述界面控制的配置信息,并生成图形渲染引擎可以理解的界面控件实例。
步骤203,加载所述界面控件实例,在预设的播放器界面展示所述界面控件实例对应的界面控件。
在本发明实施例中,所述播放器可以通过执行所述动态界面控件脚本,加载所述界面控件实例,在所述播放器界面中生成所述界面控件实例对应的界面控件。从而实现通过所述动态界面控件脚本以及所述布局文件,动态地展示所述界面控件。
在本发明的一种实施例中,所述播放器的宿主程序中设置有虚拟机程序;
在本发明实施例中,所述宿主程序可以为所述播放器本身的应用程序。在所述宿主程序中,可以设置有虚拟机程序,从而可以通过嵌入虚拟机程序的方式,在所述宿主程序中,运行属于不同语言环境的程序。
在本发明实施例中,所述宿主程序的语言环境可以宿主环境,所述虚拟机程序的语言环境可以为虚拟机环境。所述宿主环境与所述虚拟机环境为不同的语言环境。作为本发明的一种示例,所述虚拟环境可以为lua语言环境,所述原生环境可以为objective c语言环境。所述虚拟环境与所述原生环境还可以是其他语言环境。例如,所述虚拟环境还可以为Java语言环境、C语言环境、C#语言环境、C++语言环境、Python语言环境、PHP语言环境、Ruby语言环境、Swift语言环境、Haskell语言环境等。所述原生环境还可以为ava语言环境、C语言环境、C#语言环境、C++语言环境、Python语言环境、PHP语言环境、Ruby语言环境、Swift语言环境、Haskell语言环境等。本发明对此不做限制。
优选地,当所述虚拟环境为lua语言环境时,所述虚拟机为lua虚拟机,所述动态界面控件脚本可以为lua脚本。由于lua虚拟机具有小巧,高效的特性,lua虚拟机可以在占用较小硬件资源的情况下,快速完成对所述lua脚本的执行。从而可以不明显增加所述播放器占用的硬件资源的情况下,实现界面控件的动态生成,且生成速度快。
所述通过执行所述动态界面控件脚本,对所述布局文件进行解析,在预设的播放器界面生成界面控件的步骤,包括:
S11,采用所述虚拟机程序执行所述动态界面控件脚本,对所述布局文件进行解析,生成界面视图实例以及事件节点实例;
在本发明实施例中,所述界面视图实例可以为描述所述界面控件在所述播放器界面的布局位置的信息。所述事件节点实例可以为描述所述界面控件可响应的事件的信息。
在本发明实施例中,所述动态界面控件脚本以及所述布局文件可以运行于所述虚拟机程序中。从而所述播放器可以采用所述虚拟机程序执行所述动态界面控件脚本,对所述布局文件进行解析,生成界面视图实例以及事件节点实例。
在具体实现中,所述播放器在采用所述动态界面控件脚本解析所述布局文件的过程中,可以创建一界面控件对象树,并在所述界面控件对象树的根目录上,添加每一所述界面控件对应的布局节点。所述布局节点可以用于设指示所述界面控件在播放器界面上的坐标、所述界面控件的尺寸、所述界面控件所采用的图形元素和/或文字元素等信息。从而,可以得到一个包含至少一个界面控件的布局节点的界面控件对象树,该界面控件对象树可以为所述界面视图实例。
在本发明实施例中,所述事件节点实例可以包括用户操作事件节点以及数据回传事件节点。所述用户操作事件节点可以用于获取用户作用于所述界面控件的操作,向虚拟机程序返回数据。所述数据回传节点可以用于在宿主程序中获取数据,并向虚拟机程序返回数据。
S12,采用所述虚拟机程序将所述事件节点实例绑定至所述界面视图实例,生成适配虚拟机环境的界面控件实例;
在本发明实施例中,可以采用所述虚拟机程序确定所述事件节点实例对应的界面控件,并将所述事件节点绑定至相应的界面控件的布局节点上,从而将所述事件节点实例绑定至所述界面视图实例上,生成适配虚拟机环境的界面控件实例。
作为本发明的一种示例,图3为本发明的一种界面控件实例的示意图。所述界面控件实例包括根目录,所述根目录下可以包括布局节点1、布局节点2、布局节点3。每一所述布局节点可以对应一界面控件。所述布局节点1还可以包括布局子节点1、布局子节点2、布局子节点3。所述布局子节点可以用于指示所述界面控件包含的图形元素和/或文字元素的位置信息以及尺寸信息。所述布局子节点1可以包括事件节点1、事件节点2、事件节点3。所述事件节点可以为所述界面控件中一图形元素或文字元素绑定的事件。从而该图形元素或文字元素可以用于向虚拟机程序返回数据。
S13,采用预设的环境转换对象,将适配所述虚拟机环境的界面控件实例,转换为适配宿主环境的界面控件实例;
在本发明实施例中,可以设置环境转换对象。所述环境转换对象可以用于为所述宿主环境以及虚拟机环境之间提供交互接口,并且可以用于宿主环境以及虚拟机环境之间的语言转换。
在本发明实施例中,所述播放器可以采用预设的环境转换对象,对所述界面控件实例进行语言转换,并将所述界面控件实例从所述虚拟机程序发送至所述宿主程序,从而将适配所述虚拟机环境的界面控件实例,转换为适配宿主环境的界面控件实例。
在具体实现中,所述虚拟机程序可以遍历所述适配所述虚拟机环境的界面控件实例。所述适配所述虚拟机环境的界面控件实例中可以包括布局节点以及事件节点。若遍历到所述布局节点,则可以采用所述布局节点中的信息,则可以将所述布局节点的信息经所述环境转换对象转换后,发送至所述宿主程序,使所述宿主程序可以获取转换后的布局节点信息。所述宿主程序可以预设有适配宿主环境的界面控件实例,所述宿主程序可以将所述转换后的布局节点信息加载至所述适配宿主环境的界面控件实例中。若遍历到所述事件节点,则可以将所述事件节点的信息经所述环境转换对象转换后,发送至所述宿主程序,使所述宿主程序可以获取转换后的事件节点信息。所述宿主程序可以将所述转换后的事件节点信息加载至所述适配宿主环境的界面控件实例中,以绑定向所述虚拟机程序回传数据的事件。所述虚拟机程序可以在动态界面控件脚本设置相应的回传响应节点,并在所述宿主程序回传相应的数据时,触发所述回传响应节点对应的事件。
在具体实现中,进一步地,所述界面控件可以采用Flexbox布局,Flexbox布局的主体思想是元素可以改变大小以适应可用空间,当可用空间变大,Flex元素将伸展大小以填充可用空间,当Flex元素超出可用空间时将自动缩小。当界面控件采用Flexbox布局时,所述界面控件可以在所述虚拟机环境的界面控件实例中对应具有一个父布局节点以及若干子布局节点。所述父排版节点可以规定所述界面控件在所述播放器界面中所处的位置以及尺寸。该位置以及尺寸可以根据所述播放器界面的大小变化。所述子排版节点可以根据所述父排版节点规定的所述界面控件在所述播放器界面中所处的位置以及尺寸,相应地确定图形元素和/或文字元素在所述播放器界面中所处的位置以及尺寸。
所述动态界面控件脚本在遍历适配所述虚拟机环境的界面控件实例的过程中,若遍历到采用所述Flexbox布局的布局节点,可以将所述布局节点的信息经所述环境转换对象转换后,发送至所述宿主程序,使所述宿主程序可以获取转换后的布局节点信息。所述宿主程序可以预设有适配宿主环境的界面控件实例,所述宿主程序可以将所述转换后的布局节点信息加载至所述适配宿主环境的界面控件实例中。其后,所述宿主程序可以执行所述布局节点中的父布局节点以及子布局节点,并基于所述播放器界面的尺寸,确定所述界面控件的位置以及尺寸,并进一步确定所述界面控件中图形元素和/或文字元素在所述播放器界面中所处的位置以及尺寸。其后,将所述界面控件中图形元素和/或文字元素在所述播放器界面中所处的位置以及尺寸的信息绑定至所述适配宿主环境的界面控件实例中,从而所述界面控件实例可以加载有所述界面控件的位置以及尺寸的信息。
S14,采用所述宿主程序加载所述界面控件实例,在预设的播放器界面展示所述界面控件实例对应的界面控件。
在本发明实施例中,所述播放器可以采用预设的图形渲染引擎,渲染所述界面控件实例,在所述播放器的界面展示所述界面控件实例对应的界面控件。从而所述播放器可以动态地加载界面控件,而不受播放器版本更新的限制。
步骤204,获取用户作用于所述播放器界面中所述界面控件的交互事件,并响应所述交互事件,在所述播放器界面中展示交互内容。
在本发明实施例中,所述界面控件可以响应用户的操作,用户可以通过连接所述电子设备的输入设备,如键盘、鼠标、触摸屏、麦克风等,输入针对所述界面控件的操作。从而所述播放器可以获取用户作用于所述播放器界面中所述界面控件的交互事件。
在本发明实施例中,所述针对所述界面控件的操作可以为点击、滑动、长按、输入文字、输入语音等,本发明对此不做限制。
在本发明实施例中,所述播放器可以响应所述交互事件,在所述播放器界面展示交互内容,实现所述播放器展示的内容可以跟随用户操作,相应地变化,为用户提供更多的控制功能。
在本发明实施例中,所述交互内容可以包括用户在播放器的界面中可见的内容。例如,所述播放器界面中的界面控件、所述播放器播放的多媒体内容等。
在本发明的一种实施例中,所述响应所述交互事件,在所述播放器界面中展示交互内容,包括:
S21,通过执行所述动态界面控件脚本,响应所述交互事件;
在本发明实施例中,所述播放器在获取所述交互事件后,可以通过执行所述动态界面控件脚本,响应所述交互事件。具体地,所述播放器的宿主程序在获取所述交互事件后,可以触发所述交互事件对应的事件节点,并向所述虚拟机程序回传数据,以响应所述交互事件。
S22,在所述动态界面控件脚本中,确定所述交互事件对应的脚本片段;
在本发明实施例中,所述虚拟机程序在获取回传的数据后,可以基于所述回传的数据,在所述动态界面控件脚本中,查找所述回传的数据对应的回传响应节点。所述回传响应节点在所述动态界面控件脚本中可以具有相应的脚本片段,从而可以确定所述交互事件对应的脚本片段。
S23,通过执行所述脚本片段,在所述播放器界面中展示所述交互内容中的交互界面内容,和/或,将所述交互内容中的交互多媒体内容确定为所述播放器新的播放的多媒体内容。
在本发明实施例中,所述交互内容可以包括交互界面内容,以及交互多媒体内容。所述交互界面内容可以为所述交互事件对应的界面控件。所述交互多媒体内容可以为所述播放器可以播放的多媒体内容。
在本发明实施例中,可以通过执行所述动态界面控件脚本中,所述回传响应节点对应的脚本片段,从而在所述播放器界面中展示所述交互内容中的交互界面内容,和/或,将所述交互内容中的交互多媒体内容确定为所述播放器新的播放的多媒体内容。
在具体实现中,所述播放器可以响应所述交互事件,在所述动态界面控件脚本中,确定所述交互事件对应的脚本片段,并执行所述脚本片段,从而在所述播放器界面中展示所述交互事件对应的界面控件,以实现所述界面控件的动态变化。
作为本发明的一种具体示例,所述界面控件可以为投票界面,所述播放器可以响应用户作用于所述投票界面的投票选项,通过执行所述动态界面控件脚本,展示一投票结果界面,以告知用户投票结果。
作为本发明的一种具体示例,所述界面控件可以为心形图标,所述播放器可以响应用户作用于所述心形图标的点击操作,通过执行所述动态界面控件脚本中点击操作对应的脚本片段,展示在所述播放器界面中飞舞的动态气泡图案,以提供所述点击操作的反馈。
作为本发明的一种具体示例,所述播放器界面可以通过界面控件展示一互动游戏,用户通过点击互动游戏中作为操控按键的界面控件,通过执行所述动态界面控件脚本中用户操作对应的脚本片段,动态地改变所述互动游戏中的界面控件,以实现游戏功能。例如,改变作为操控角色的界面控件的运行方式,以改变操控角色的走动方式。又例如,改变作为游戏视图的界面控件,以展示动态的游戏视图。
在具体实现中,所述播放器可以响应所述交互事件,在所述动态界面控件脚本中,确定所述交互事件对应的脚本片段,并执行所述脚本片段,从而在所述播放器界面中,将所述交互多媒体内容确定为所述播放器新的播放的多媒体内容,从而实现通过所述界面控件,更改所述播放器的当前播放内容。
作为本发明的一种具体示例,所述播放器界面可以通过界面控件,展示当前播放多媒体内容相关的多媒体内容推荐。所述播放器可以通过执行所述动态界面控件脚本中用户操作对应的脚本片段,响应用户作用于所述多媒体内容推荐上的操作,确定用户选择的交互多媒体内容,在所述播放器界面中,将所述交互多媒体内容确定为所述播放器新的播放的多媒体内容,从而实现根据用户操作选择下一个播放的多媒体内容。
作为本发明的一种具体示例,所述播放器界面可以通过界面控件,展示当前的突发热点新闻的摘要信息。所述播放器可以通过执行所述动态界面控件脚本中用户操作对应的脚本片段,响应用户作用于所述摘要信息上的操作,将所述突发热点新闻作为用户选择的交互多媒体内容,在所述播放器界面中,将所述交互多媒体内容确定为所述播放器新的播放的多媒体内容,从而实现根据用户操作展示突发热点新闻。
在具体实现中,所述播放器可以响应所述交互事件,在所述动态界面控件脚本中,确定所述交互事件对应的脚本片段,并执行所述脚本片段,从而在所述播放器界面中展示所述交互界面内容,并将所述交互多媒体内容确定为所述播放器新的播放的多媒体内容。
作为本发明的一种具体示例,所述播放器界面可以通过所述界面控件,展示一选择界面,该选择界面可以与所述播放器当前播放的多媒体内容相关。例如当前播放的多媒体内容为主角正在追逐角色A,道路出现了岔路A与岔路B,则所述选择界面可以用于为用户提供岔路A选项与岔路B选项。所述播放器可以通过执行所述动态界面控件脚本中用户操作对应的脚本片段,响应用户作用于所述选择界面的操作,确定用户选择的选项,将用户选择的选项对应的多媒体内容作为交互多媒体内容,在所述播放器界面中,将所述交互多媒体内容确定为所述播放器新的播放的多媒体内容。同时,所述播放器还可以通过执行所述动态界面控件脚本,展示一选择结果界面,以告知用户选择结果。例如,用户当前选择了岔路A,则通过执行所述动态界面控件脚本,播放岔路A对应的多媒体内容,并在播放器界面展示选择结果界面,告知用户当前播放的多媒体内容为岔路A选项对应的内容。
在本发明实施例中,在所述播放器播放多媒体内容的过程中,所述播放器可以动态地加载界面控件的基础上,进一步响应用户作用于所述播放器界面的交互事件,使所述播放器界面的界面控件与播放器播放的多媒体内容相应地的变化,从而实现了播放器与用户之间的互动,进一步丰富了所述播放器的控制功能,并使播放器具有更多、更灵活的多媒体内容展示方式。
在本发明实施例中,所述动态界面控件脚本中可以预设有至少一个时间点。所述播放器可以执行所述动态界面控件脚本,并对所述布局文件进行解析。在所述播放器播放多媒体内容的过程中,在到达所述动态界面控件脚本指定的时间点的情况下,可以在所述预设的播放器界面生成界面控件。进一步地,若所述播放器继续播放多媒体内容,到达所述动态界面控件脚本指定的另一时间点,可以在所述预设的播放器界面生成新的界面控件。从而在所述播放器继续播放多媒体内容的过程中,所述播放器还可以动态地更新所述界面控件,为用户提供动态的界面展示以及更丰富的操作功能。
通过本发明实施例的界面控件生成方法,通过执行所述动态界面控件脚本,对所述布局文件进行解析,生成界面控件实例,并采用界面控件实例,在预设的播放器界面生成界面控件。从而无需更新播放器,即可通过动态界面控件脚本以及布局文件生成界面控件。并且通过服务器下发动态界面控件脚本以及布局文件,即可完成界面控件的更新,提高了界面控件的灵活性。同时,还可以通过所述界面控件,获取用户作用于播放器界面的交互事件,并相应地展示交互内容,实现通过界面控件与用户之间的交互,为用户提供更多可操作的功能。
作为本发明的一种具体示例,本发明提供了另一种播放器的交互方法,所述方法应用于图4所示的播放器400中。所述播放器400具有Objective-C宿主程序401,所述Objective-C宿主程序401中可以运行有LUA虚拟机程序402。所述LUA虚拟机程序402与所述Objective-C宿主程序401之间可以通过环境转换对象403进行交互。所述Objective-C宿主程序401中还设有播放器控制接口404,所述播放器控制接口404可以与服务器410进行数据交互。所述Objective-C宿主程序401中还设有播放器私有接口405以及播放器内核406。所述播放器可以通过所述播放器控制接口404调用所述播放器私有接口405以及播放器内核406,实现对所述播放器播放多媒体内容进行控制。
所述方法包括:
S31,所述服务器410向所述播放器控制接口404下发动态界面控件脚本以及布局文件。所述动态界面控件脚本为LUA脚本,所述布局文件为XML文件。
S32,所述播放器控件接口404通过所述环境转换对象403,将所述动态界面控件脚本发送至所述LUA虚拟机程序402;
S33,在预设的时间点,所述LUA虚拟机程序402加载动态界面控件脚本以及界面控件的布局文件。其中,所述预设的时间点可以为所述播放器播放多媒体内容过程中的某一时间点。该时间点可以通过预先向所述LUA虚拟机程序402发送消息设置,也可以通过服务器动态下发消息,控制所述LUA虚拟机程序402在获取所述服务器下发的消息时,加载动态界面控件脚本以及界面控件的布局文件,本发明对此不做限制。
S34,所述LUA虚拟机程序402通过执行所述动态界面控件脚本,采用预设的脚本基础库,对所述布局文件进行解析,得到适配LUA虚拟环境的界面控件实例。所述适配LUA虚拟环境的界面控件实例可以为文档对象模型树形结构信息。
S35,所述LUA虚拟机程序402通过执行所述动态界面控件脚本,将适配LUA虚拟环境的界面控件实例,转换为适配Objective-C宿主环境的界面控件实例。
具体地,所述LUA虚拟机程序402可以遍历所述适配LUA虚拟环境的界面控件实例。所述适配所述LUA虚拟环境的界面控件实例中可以包括布局节点以及事件节点。
若遍历到所述布局节点,则可以采用所述布局节点中的信息,则所述LUA虚拟机程序402可以将所述布局节点的信息经所述环境转换对象403转换后,发送至所述Objective-C宿主程序401,使所述宿主程序可以获取转换后的布局节点信息。所述宿主程序可以预设有适配宿主环境的界面控件实例,所述宿主程序可以将所述转换后的布局节点信息加载至所述适配宿主环境的界面控件实例中。
进一步地,若所述布局节点中的信息采用的单位,与所述Objective-C宿主程序401中采用的单位不同,还可以对所述布局节点中的信息进行单位转换。例如,所述布局节点中对所述图形元素和/或文字元素,采用像素(px)、百分比(%)、宽高比(vw/vh)等单位进行表达,而所述宿主程序中采用dp(dip densityindependentpixel,密度无关像素)、sp(scaledpixels,可伸缩像素)进行表达的情况下,所述LUA虚拟机程序402可以对所述布局节点中的信息进行单位转换后,再将所述布局节点的信息经所述环境转换对象403转换后,发送至所述Objective-C宿主程序401。
进一步地,所述界面控件可以采用Flexbox布局,Flexbox布局的主体思想是元素可以改变大小以适应可用空间,当可用空间变大,Flex元素将伸展大小以填充可用空间,当Flex元素超出可用空间时将自动缩小。当界面控件采用Flexbox布局时,所述界面控件可以在所述虚拟机环境的界面控件实例中对应具有一个父布局节点以及若干子布局节点。所述父排版节点可以规定所述界面控件在所述播放器界面中所处的位置以及尺寸。该位置以及尺寸可以根据所述播放器界面的大小变化。所述子排版节点可以根据所述父排版节点规定的所述界面控件在所述播放器界面中所处的位置以及尺寸,相应地确定图形元素和/或文字元素在所述播放器界面中所处的位置以及尺寸。
所述LUA虚拟机程序402通过所述动态界面控件脚本在遍历适配所述虚拟机环境的界面控件实例的过程中,若遍历到采用所述Flexbox布局的布局节点,可以将所述布局节点的信息经所述环境转换对象403转换后,发送至所述Objective-C宿主程序401,使所述Objective-C宿主程序401可以获取转换后的布局节点信息。所述Objective-C宿主程序401可以预设有适配宿主环境的界面控件实例,所述Objective-C宿主程序401可以将所述转换后的布局节点信息加载至所述适配宿主环境的界面控件实例中。其后,所述Objective-C宿主程序401可以执行所述布局节点中的父布局节点以及子布局节点,并基于所述播放器界面的尺寸,确定所述界面控件的位置以及尺寸,并进一步确定所述界面控件中图形元素和/或文字元素在所述播放器界面中所处的位置以及尺寸。其后,将所述界面控件中图形元素和/或文字元素在所述播放器界面中所处的位置以及尺寸的信息绑定至所述适配宿主环境的界面控件实例中,从而所述界面控件实例可以加载有所述界面控件的位置以及尺寸的信息。
若遍历到所述事件节点,则可以将所述事件节点的信息经所述环境转换对象403转换后,发送至所述Objective-C宿主程序401,使所述Objective-C宿主程序401可以获取转换后的事件节点信息。所述Objective-C宿主程序401可以将所述转换后的事件节点信息加载至所述适配宿主环境的界面控件实例中,以绑定向所述LUA虚拟机程序402回传数据的事件。所述LUA虚拟机程序402可以在动态界面控件脚本设置相应的回传响应节点,并在所述Objective-C宿主程序回传相应的数据时,触发所述回传响应节点对应的事件。
进一步地,所述事件节点可以包括用户操作事件节点、数据回传事件节点。所述用户操作事件节点可以用于获取用户作用于所述界面控件的操作,向虚拟机程序返回数据。所述数据回传节点可以用于在所述Objective-C宿主程序401中获取数据,并通过所述环境转换对象403向LUA虚拟机程序402返回数据。
S36,获取用户作用于所述播放器界面中所述界面控件的交互事件;
具体地,用户可以通过连接所述电子设备的输入设备,如键盘、鼠标、触摸屏、麦克风等,输入针对所述界面控件的操作。从而所述Objective-C宿主程序401可以获取用户作用于所述播放器界面中所述界面控件的交互事件。其后,所述Objective-C宿主程序401可以触发所述交互事件对应的事件节点,通过所述环境转换对象403向所述LUA虚拟机程序402返回数据,以触发所述动态界面控件脚本中响应的回传响应节点。
S37,响应所述交互事件,在所述播放器界面中展示交互内容。
具体地,所述LUA虚拟机程序402可以获取所述Objective-C宿主程序401通过所述环境转换对象403回传的数据,所述LUA虚拟机程序402响应所述交互事件,基于回传的数据,执行所述动态界面控件脚本中回传响应节点对应的脚本片段,通过所述环境转换对象403向所述Objective-C宿主程序401发送相应的交互界面内容的信息,和/或,交互多媒体内容的信息。交互界面内容的信息可以为通过所述环境转换对象403向所述Objective-C宿主程序401发送新的界面控件实例,以更改所述播放器界面展示的界面控件的内容。交互多媒体内容的信息可以为通过所述环境转换对象403向所述Objective-C宿主程序401发送的播放控制消息,所述播放控制消息控制所述播放器控制接口404调用所述播放器私有接口405以及播放器内核406,以更改所述播放器播放的多媒体内容。
所述交互多媒体内容可以基于所述播放器对应的用户属性信息、用户所处地域、当前网络环境等信息确定,也可以基于用户操作确定。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图5,示出了本发明的一种播放器的交互装置实施例的结构框图,具体可以包括如下模块:
加载模块501,用于加载动态界面控件脚本以及界面控件的布局文件;所述动态界面控件脚本以及所述布局文件由预设的服务器下发得到;
生成模块502,用于在所述播放器播放多媒体内容的过程中,通过执行所述动态界面控件脚本,对所述布局文件进行解析,在预设的播放器界面生成界面控件;
交互模块503,用于获取用户作用于所述播放器界面中所述界面控件的交互事件,并响应所述交互事件,在所述播放器界面中展示交互内容。
在本发明一种实施例中,所述生成模块包括:
第一实例生成子模块,用于通过执行所述动态界面控件脚本,对所述布局文件进行解析,生成界面控件实例;
控件生成子模块,用于加载所述界面控件实例,在预设的播放器界面展示所述界面控件实例对应的界面控件。
在本发明一种实施例中,所述播放器的宿主程序中设置有虚拟机程序;
所述生成模块包括:
第二实例生成子模块,用于采用所述虚拟机程序执行所述动态界面控件脚本,对所述布局文件进行解析,生成界面视图实例以及事件节点实例;
第三实例生成子模块,用于采用所述虚拟机程序将所述事件节点实例绑定至所述界面视图实例,生成适配虚拟机环境的界面控件实例;
转换子模块,用于采用预设的环境转换对象,将适配所述虚拟机环境的界面控件实例,转换为适配宿主环境的界面控件实例;
展示子模块,用于采用所述宿主程序加载所述界面控件实例,在预设的播放器界面展示所述界面控件实例对应的界面控件。
在本发明一种实施例中,所述交互模块包括:
响应子模块,用于通过执行所述动态界面控件脚本,响应所述交互事件;
确定子模块,用于在所述动态界面控件脚本中,确定所述交互事件对应的脚本片段;
执行子模块,用于通过执行所述脚本片段,在所述播放器界面中展示所述交互内容中的交互界面内容,和/或,将所述交互内容中的交互多媒体内容确定为所述播放器新的播放的多媒体内容。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:
加载动态界面控件脚本以及界面控件的布局文件;所述动态界面控件脚本以及所述布局文件由预设的服务器下发得到;
在所述播放器播放多媒体内容的过程中,通过执行所述动态界面控件脚本,对所述布局文件进行解析,在预设的播放器界面生成界面控件;
获取用户作用于所述播放器界面中所述界面控件的交互事件,并响应所述交互事件,在所述播放器界面中展示交互内容。
在本发明一种实施例中,所述通过执行所述动态界面控件脚本,对所述布局文件进行解析,在预设的播放器界面生成界面控件的步骤,包括:
通过执行所述动态界面控件脚本,对所述布局文件进行解析,生成界面控件实例;
加载所述界面控件实例,在预设的播放器界面展示所述界面控件实例对应的界面控件。
在本发明一种实施例中,所述播放器的宿主程序中设置有虚拟机程序;
所述通过执行所述动态界面控件脚本,对所述布局文件进行解析,在预设的播放器界面生成界面控件的步骤,包括:
采用所述虚拟机程序执行所述动态界面控件脚本,对所述布局文件进行解析,生成界面视图实例以及事件节点实例;
采用所述虚拟机程序将所述事件节点实例绑定至所述界面视图实例,生成适配虚拟机环境的界面控件实例;
采用预设的环境转换对象,将适配所述虚拟机环境的界面控件实例,转换为适配宿主环境的界面控件实例。
采用所述宿主程序加载所述界面控件实例,在预设的播放器界面展示所述界面控件实例对应的界面控件。
在本发明一种实施例中,所述响应所述交互事件,在所述播放器界面中展示交互内容的步骤,包括:
通过执行所述动态界面控件脚本,响应所述交互事件;
在所述动态界面控件脚本中,确定所述交互事件对应的脚本片段;
通过执行所述脚本片段,在所述播放器界面中展示所述交互内容中的交互界面内容,和/或,将所述交互内容中的交互多媒体内容确定为所述播放器新的播放的多媒体内容。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended IndustryStandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(RandomAccess Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field -Programmable GateArray,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例还提供了一种装置,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行本发明实施例所述的方法。
本发明实施例还提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行本发明实施例所述的方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种播放器的交互方法和一种播放器的交互装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种播放器的交互方法,其特征在于,包括:
加载动态界面控件脚本以及界面控件的布局文件;所述动态界面控件脚本以及所述布局文件由预设的服务器下发得到;
在所述播放器播放多媒体内容的过程中,通过执行所述动态界面控件脚本,对所述布局文件进行解析,在预设的播放器界面生成界面控件;
获取用户作用于所述播放器界面中所述界面控件的交互事件,并响应所述交互事件,在所述播放器界面中展示交互内容。
2.根据权利要求1所述的方法,其特征在于,所述通过执行所述动态界面控件脚本,对所述布局文件进行解析,在预设的播放器界面生成界面控件的步骤,包括:
通过执行所述动态界面控件脚本,对所述布局文件进行解析,生成界面控件实例;
加载所述界面控件实例,在预设的播放器界面展示所述界面控件实例对应的界面控件。
3.根据权利要求1或2所述的方法,其特征在于,所述播放器的宿主程序中设置有虚拟机程序;
所述通过执行所述动态界面控件脚本,对所述布局文件进行解析,在预设的播放器界面生成界面控件的步骤,包括:
采用所述虚拟机程序执行所述动态界面控件脚本,对所述布局文件进行解析,生成界面视图实例以及事件节点实例;
采用所述虚拟机程序将所述事件节点实例绑定至所述界面视图实例,生成适配虚拟机环境的界面控件实例;
采用预设的环境转换对象,将适配所述虚拟机环境的界面控件实例,转换为适配宿主环境的界面控件实例;
采用所述宿主程序加载所述界面控件实例,在预设的播放器界面展示所述界面控件实例对应的界面控件。
4.根据权利要求1所述的方法,其特征在于,所述响应所述交互事件,在所述播放器界面中展示交互内容的步骤,包括:
通过执行所述动态界面控件脚本,响应所述交互事件;
在所述动态界面控件脚本中,确定所述交互事件对应的脚本片段;
通过执行所述脚本片段,在所述播放器界面中展示所述交互内容中的交互界面内容,和/或,将所述交互内容中的交互多媒体内容确定为所述播放器新的播放的多媒体内容。
5.一种播放器的交互方法,其特征在于,包括:
加载模块,用于加载动态界面控件脚本以及界面控件的布局文件;所述动态界面控件脚本以及所述布局文件由预设的服务器下发得到;
生成模块,用于在所述播放器播放多媒体内容的过程中,通过执行所述动态界面控件脚本,对所述布局文件进行解析,在预设的播放器界面生成界面控件;
交互模块,用于获取用户作用于所述播放器界面中所述界面控件的交互事件,并响应所述交互事件,在所述播放器界面中展示交互内容。
6.根据权利要求5所述的装置,其特征在于,所述生成模块包括:
第一实例生成子模块,用于通过执行所述动态界面控件脚本,对所述布局文件进行解析,生成界面控件实例;
控件生成子模块,用于加载所述界面控件实例,在预设的播放器界面展示所述界面控件实例对应的界面控件。
7.根据权利要求5或6所述的装置,其特征在于,所述播放器的宿主程序中设置有虚拟机程序;
所述生成模块包括:
第二实例生成子模块,用于采用所述虚拟机程序执行所述动态界面控件脚本,对所述布局文件进行解析,生成界面视图实例以及事件节点实例;
第三实例生成子模块,用于采用所述虚拟机程序将所述事件节点实例绑定至所述界面视图实例,生成适配虚拟机环境的界面控件实例;
转换子模块,用于采用预设的环境转换对象,将适配所述虚拟机环境的界面控件实例,转换为适配宿主环境的界面控件实例;
展示子模块,用于采用所述宿主程序加载所述界面控件实例,在预设的播放器界面展示所述界面控件实例对应的界面控件。
8.根据权利要求5所述的装置,其特征在于,所述交互模块包括:
响应子模块,用于通过执行所述动态界面控件脚本,响应所述交互事件;
确定子模块,用于在所述动态界面控件脚本中,确定所述交互事件对应的脚本片段;
执行子模块,用于通过执行所述脚本片段,在所述播放器界面中展示所述交互内容中的交互界面内容,和/或,将所述交互内容中的交互多媒体内容确定为所述播放器新的播放的多媒体内容。
9.一种装置,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行如权利要求1-4所述的一个或多个的方法。
10.一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1-4所述的一个或多个的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911296488.6A CN111045674B (zh) | 2019-12-16 | 2019-12-16 | 一种播放器的交互方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911296488.6A CN111045674B (zh) | 2019-12-16 | 2019-12-16 | 一种播放器的交互方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111045674A true CN111045674A (zh) | 2020-04-21 |
CN111045674B CN111045674B (zh) | 2023-07-21 |
Family
ID=70236861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911296488.6A Active CN111045674B (zh) | 2019-12-16 | 2019-12-16 | 一种播放器的交互方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111045674B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112099694A (zh) * | 2020-09-24 | 2020-12-18 | 维沃移动通信有限公司 | 桌面控件处理方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105242937A (zh) * | 2014-06-27 | 2016-01-13 | 中兴通讯股份有限公司 | 一种动态更新应用界面的方法、终端及*** |
CN106126263A (zh) * | 2016-07-04 | 2016-11-16 | 傲讯全通科技(深圳)有限公司 | 一种快速定制用户界面和功能的方法 |
CN106844066A (zh) * | 2017-01-22 | 2017-06-13 | 腾讯科技(深圳)有限公司 | 一种应用运行方法、装置及*** |
US10013273B1 (en) * | 2016-06-22 | 2018-07-03 | Amazon Technologies, Inc. | Virtual machine termination management |
CN108279932A (zh) * | 2018-01-22 | 2018-07-13 | 北京奇艺世纪科技有限公司 | 一种移动终端动态配置用户界面方法和装置 |
CN108881202A (zh) * | 2018-06-08 | 2018-11-23 | 北京联合众为科技发展有限公司 | 一种视频监控***及方法 |
US20190034213A1 (en) * | 2016-10-03 | 2019-01-31 | App Onboard, Inc. | Application reproduction in an application store environment |
CN109831456A (zh) * | 2019-03-14 | 2019-05-31 | 腾讯科技(深圳)有限公司 | 消息推送方法、装置、设备及存储介质 |
-
2019
- 2019-12-16 CN CN201911296488.6A patent/CN111045674B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105242937A (zh) * | 2014-06-27 | 2016-01-13 | 中兴通讯股份有限公司 | 一种动态更新应用界面的方法、终端及*** |
US10013273B1 (en) * | 2016-06-22 | 2018-07-03 | Amazon Technologies, Inc. | Virtual machine termination management |
CN106126263A (zh) * | 2016-07-04 | 2016-11-16 | 傲讯全通科技(深圳)有限公司 | 一种快速定制用户界面和功能的方法 |
US20190034213A1 (en) * | 2016-10-03 | 2019-01-31 | App Onboard, Inc. | Application reproduction in an application store environment |
CN106844066A (zh) * | 2017-01-22 | 2017-06-13 | 腾讯科技(深圳)有限公司 | 一种应用运行方法、装置及*** |
CN108279932A (zh) * | 2018-01-22 | 2018-07-13 | 北京奇艺世纪科技有限公司 | 一种移动终端动态配置用户界面方法和装置 |
CN108881202A (zh) * | 2018-06-08 | 2018-11-23 | 北京联合众为科技发展有限公司 | 一种视频监控***及方法 |
CN109831456A (zh) * | 2019-03-14 | 2019-05-31 | 腾讯科技(深圳)有限公司 | 消息推送方法、装置、设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
有一颗椰子树: "VBScript脚本运用(脚本程序与宿主程序的交互)" * |
赵林: "调度自动化***多视图人机交互界面设计" * |
金安: "基于区块链技术的游戏生态***框架研究与设计" * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112099694A (zh) * | 2020-09-24 | 2020-12-18 | 维沃移动通信有限公司 | 桌面控件处理方法及装置 |
CN112099694B (zh) * | 2020-09-24 | 2022-06-03 | 维沃移动通信有限公司 | 桌面控件处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111045674B (zh) | 2023-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101454950B1 (ko) | 스트리밍 미디어에 연관된 딥 태그 클라우드 | |
US11481948B2 (en) | Method, device and storage medium for generating animation group by synthesizing animation layers based on tree structure relation between behavior information and sub-behavior information | |
US9665965B2 (en) | Video-associated objects | |
US11245951B2 (en) | Display device and content providing method thereof | |
JP5850833B2 (ja) | 通信システムにおけるユーザインターフェースを送受信する装置及び方法 | |
US20150026573A1 (en) | Media Editing and Playing System and Method Thereof | |
US20150248722A1 (en) | Web based interactive multimedia system | |
CN104484193A (zh) | 一种快速启动应用程序的方法和装置 | |
US20150143210A1 (en) | Content Stitching Templates | |
CN109154943A (zh) | 自动播放内容到点击播放内容的基于服务器的转换 | |
WO2020220773A1 (zh) | 图片预览信息的显示方法、装置、电子设备及计算机可读存储介质 | |
US20220310125A1 (en) | Method and apparatus for video production, device and storage medium | |
CN114679621B (zh) | 一种视频展示方法、装置及终端设备 | |
CN113253880B (zh) | 互动场景的页面的处理方法、装置及存储介质 | |
CN108810132B (zh) | 动画显示方法、装置、终端、服务器及存储介质 | |
CN104461512A (zh) | 一种快速启动应用程序的方法和装置 | |
CN110784753A (zh) | 互动视频播放方法及装置、存储介质、电子设备 | |
CN112395027A (zh) | 微件界面生成方法、装置、存储介质与电子设备 | |
CN113688341B (zh) | 动态图片分解方法、装置、电子设备及可读存储介质 | |
CN111818279A (zh) | 字幕的生成方法、展示方法及交互方法 | |
CN111045674B (zh) | 一种播放器的交互方法和装置 | |
CN106383705B (zh) | 在应用瘦客户端中设置鼠标显示状态的方法及装置 | |
KR20120000595A (ko) | 멀티플랫폼에서 구동되는 온라인 멀티미디어 콘텐츠 제작툴 제공 방법 및 시스템 | |
US10673771B2 (en) | Platform-agnostic thick-client system for combined delivery of disparate streaming content and dynamic content by combining dynamic data with output from a continuous queue transmitter | |
US10055508B1 (en) | Platform-agnostic thick-client system for combined delivery of disparate streaming content and dynamic content by combining dynamic data with output from a continuous queue transmitter |
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 |