1.本公开涉及通信技术领域,尤其涉及一种云游戏交互方法、装置、设备和存储介质。
背景技术:2.云游戏是将原本运行在用户端设备的游戏实例移到云端设备上运行。用户端设备无需下载游戏,而是由云端设备运行游戏过程,实现游戏的即点即玩。其中,云端设备和用户端设备为两台不同的设备。
3.但是,上述云游戏实现过程只适用于游戏应用程序中原有开发的游戏原生功能的实现,而无法快速实现更多其他的功能。
技术实现要素:4.为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种云游戏交互方法、装置、设备和存储介质。
5.第一方面,本公开提供了一种云游戏交互方法,应用于云游戏的用户端设备,该方法包括:
6.接收中继服务器发送的所述云游戏的目标扩展功能的数据获取指令;其中,所述数据获取指令由运行所述云游戏的云端设备发送给所述中继服务器,所述目标扩展功能基于所述用户端设备中的本地业务功能而实现;
7.基于所述数据获取指令调用所述目标扩展功能对应的本地业务功能,确定所述目标本地数据;
8.将所述目标本地数据经由所述中继服务器转发至所述云端设备,以使所述云端设备基于所述目标本地数据生成所述目标扩展功能对应的游戏渲染结果;
9.接收所述中继服务器发送的所述游戏渲染结果并显示;其中,所述游戏渲染结果为所述云端设备发送给所述中继服务器。
10.第二方面,本公开提供了又一种云游戏交互方法,应用于中继服务器,该方法包括:
11.接收运行云游戏的云端设备发送的所述云游戏的目标扩展功能的数据获取指令,并将所述数据获取指令转发至用户端设备;其中,所述目标扩展功能基于所述用户端设备中的本地业务功能而实现,所述数据获取指令用于指示所述用户端设备调用所述目标扩展功能对应的本地业务功能而获得目标本地数据;
12.接收所述用户端设备发送的所述目标本地数据,并将所述目标本地数据转发至所述云端设备;
13.接收所述云端设备基于所述目标本地数据而生成的所述目标扩展功能对应的游戏渲染结果,并将所述游戏渲染结果转发至所述用户端设备,以使所述用户端设备显示所述游戏渲染结果。
14.第三方面,本公开提供了又一种云游戏交互方法,应用于运行云游戏的云端设备,该方法包括:
15.将所述云游戏的目标扩展功能的数据获取指令发送至中继服务器;其中,所述目标扩展功能基于用户端设备中的本地业务功能而实现,所述数据获取指令用于指示所述用户端设备调用所述目标扩展功能对应的本地业务功能而获得目标本地数据;
16.接收所述中继服务器从所述用户端设备获得的所述目标本地数据;
17.基于所述目标本地数据生成所述目标扩展功能对应的游戏渲染结果,并将所述游戏渲染结果经由所述中继服务器转发至用户端设备,以使所述用户端设备显示所述游戏渲染结果。
18.第四方面,本公开提供了一种云游戏交互装置,配置于云游戏的用户端设备,该装置包括:
19.数据获取指令接收模块,用于接收中继服务器发送的所述云游戏的目标扩展功能的数据获取指令;其中,所述数据获取指令由运行所述云游戏的云端设备发送给所述中继服务器,所述目标扩展功能基于所述用户端设备中的本地业务功能而实现;
20.目标本地数据确定模块,用于基于所述数据获取指令调用所述目标扩展功能对应的本地业务功能,确定所述目标本地数据;
21.目标本地数据发送模块,用于将所述目标本地数据经由所述中继服务器转发至所述云端设备,以使所述云端设备基于所述目标本地数据生成所述目标扩展功能对应的游戏渲染结果;
22.游戏渲染结果显示模块,用于接收所述中继服务器发送的所述游戏渲染结果并显示;其中,所述游戏渲染结果为所述云端设备发送给所述中继服务器。
23.第五方面,本公开提供了又一种云游戏交互装置,配置于中继服务器,该装置包括:
24.数据获取指令转发模块,用于接收运行云游戏的云端设备发送的所述云游戏的目标扩展功能的数据获取指令,并将所述数据获取指令转发至用户端设备;其中,所述目标扩展功能基于所述用户端设备中的本地业务功能而实现,所述数据获取指令用于指示所述用户端设备调用所述目标扩展功能对应的本地业务功能而获得目标本地数据;
25.目标本地数据转发模块,用于接收所述用户端设备发送的所述目标本地数据,并将所述目标本地数据转发至所述云端设备;
26.游戏渲染结果转发模块,用于接收所述云端设备基于所述目标本地数据而生成的所述目标扩展功能对应的游戏渲染结果,并将所述游戏渲染结果转发至所述用户端设备,以使所述用户端设备显示所述游戏渲染结果。
27.第六方面,本公开提供了又一种云游戏交互装置,配置于运行云游戏的云端设备,该装置包括:
28.数据获取指令发送模块,用于将所述云游戏的目标扩展功能的数据获取指令发送至中继服务器;其中,所述目标扩展功能基于用户端设备中的本地业务功能而实现,所述数据获取指令用于指示所述用户端设备调用所述目标扩展功能对应的本地业务功能而获得目标本地数据;
29.目标本地数据接收模块,用于接收所述中继服务器从所述用户端设备获得的所述
目标本地数据;
30.游戏渲染结果发送模块,用于基于所述目标本地数据生成所述目标扩展功能对应的游戏渲染结果,并将所述游戏渲染结果经由所述中继服务器发送至用户端设备,以使所述用户端设备显示所述游戏渲染结果。
31.第七方面,本公开提供了一种云游戏交互设备,该设备包括:
32.处理器;
33.存储器,用于存储可执行指令;
34.其中,处理器用于从存储器中读取可执行指令,并执行可执行指令以实现上述第一方面的应用于云游戏的用户端设备的云游戏交互方法,或者实现上述第二方面的应用于中继服务器的云游戏交互方法,或者实现上述第三方面的应用于运行云游戏的云端设备的云游戏交互方法。
35.第八方面,本公开提供了一种计算机可读存储介质,该存储介质存储有计算机程序,当计算机程序被处理器执行时,使得处理器实现上述第一方面的应用于云游戏的用户端设备的云游戏交互方法,或者实现上述第二方面的应用于中继服务器的云游戏交互方法,或者实现上述第三方面的应用于运行云游戏的云端设备的云游戏交互方法。
36.本公开实施例的云游戏交互方案,能够在云游戏交互过程中,通过中继服务器将数据获取指令由云端设备转发至用户端设备,并在用户端设备调用目标扩展功能对应的本地业务功能获得目标本地数据之后,通过中继服务器将用户端设备中的目标本地数据再转发至云端设备,且在云端设备中利用目标本地数据生成目标扩展功能的游戏渲染结果,再经由中继服务器将该游戏渲染结果转发至用户端设备进行播放,使得云端设备能够实现基于用户端设备中的本地业务功能而实现的目标扩展功能,提高了云游戏中除了游戏原生功能之外的其他功能的扩展便捷性。
附图说明
37.结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
38.图1为本公开实施例提供的一种云游戏交互的系统架构图;
39.图2为本公开实施例提供的一种应用于云游戏的用户端设备的云游戏交互方法的流程示意图;
40.图3为本公开实施例提供的一种应用于中继服务器的云游戏交互方法的流程示意图;
41.图4为本公开实施例提供的一种应用于运行云游戏的云端设备的云游戏交互方法的流程示意图;
42.图5为本公开实施提供的一种云游戏用户头像设置的云游戏交互过程的示意图;
43.图6为本公开实施提供的一种云游戏实时语音聊天的云游戏交互过程的示意图;
44.图7为本公开实施例提供的一种配置于云游戏的用户端设备的云游戏交互装置的结构示意图;
45.图8为本公开实施例提供的一种配置于中继服务器的云游戏交互装置的结构示意
图;
46.图9为本公开实施例提供的一种配置于运行云游戏的云端设备的云游戏交互装置的结构示意图;
47.图10为本公开实施例提供的一种云游戏交互设备的结构示意图。
具体实施方式
48.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
49.应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
50.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
51.需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
52.需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
53.本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
54.目前的云游戏技术能够通过网络来传输用户交互指令和游戏运行结果,从而很好地实现游戏功能。但是,这种基于游戏程序开发的游戏功能实现方式,在需要扩展功能时,需要对程序代码进行修改并发布新版本的游戏应用程序,使得功能扩展比较耗时耗力。
55.基于上述情况,本公开实施例提供一种云游戏交互方法、装置、设备和存储介质,以在云端设备和用户端设备之间增加中继服务器来转发两端之间扩展功能对应的交互指令和数据,且其适用于云端设备从用户端设备获取相关数据的云游戏功能的扩展。例如,从用户端设备获取其相册中存储的图片以设置用户头像;再如,利用用户端设备的麦克风进行语音录制来实现语音交互等。
56.图1示出了本公开实施例提供的一种云游戏交互的系统架构图。如图1所示,云游戏交互系统中包含互相通信连接的云端设备110、中继服务器120和用户端设备130。云端设备110和用户端设备130均需在中继服务器120中注册,且注册信息中包含具有唯一标识性的信息,以便中继服务器120建立云端设备110和用户端设备130之间的对应关系。云端设备110和用户端设备130中分别需要增加实现扩展功能所依赖的功能接口,该功能接口对应的功能实现程序为用户端设备130中本地业务功能的功能实现程序。例如,将至少一个扩展功能对应的功能接口,按照云端设备110和用户端设备130的调用过程分别封装为云端软件开发工具包(software development kit,sdk)和客户端sdk,并将云端sdk接入云端设备110,
将客户端sdk接入用户端设备130。
57.在执行某一扩展功能(即目标扩展功能)时,云端设备110调用该目标扩展功能对应的云端sdk中的相应功能接口,将数据获取指令发送至中继服务器120。中继服务器120再将数据获取指令发送至用户端设备130,由客户端sdk中的相应功能接口接收并解析该数据获取指令。然后,用户端设备130基于解析后的数据获取指令来调用对应的本地业务功能的功能实现程序,并通过该功能实现程序的执行来获得该扩展功能所需的数据(即目标本地数据)。最后,用户端设备130通过客户端sdk中的相应功能接口将所得目标本地数据再经由中继服务器120转发至云端设备110。云端设备110通过相应功能接口接收目标本地数据并消费,来实现目标扩展功能。为了简化描述,后续实施例中将省略云端sdk和客户端sdk的表述,而是由云端设备和用户端设备来替代。
58.下面首先结合图2-6对本公开实施例提供的云游戏交互方法进行说明。
59.在本公开实施例中,应用于云游戏的用户端设备的云游戏交互方法可以由用户端设备执行。该用户端设备可以包括但不限于诸如移动电话、笔记本电脑、pda(个人数字助理)、pad(平板电脑)、可穿戴设备等的移动终端以及诸如数字tv、台式计算机、智能家居设备等的固定终端。
60.图2示出了本公开实施例提供的一种应用于云游戏的用户端设备的云游戏交互方法的流程示意图。如图2所示,该方法可以包括如下步骤:
61.s210、接收中继服务器发送的云游戏的目标扩展功能的数据获取指令。
62.其中,数据获取指令是用于指示用户端设备获取云游戏的目标扩展功能所需的目标本地数据的指令。也就是说,数据获取指令能够触发用户端设备执行一定的操作来获取目标扩展功能对应的目标本地数据。目标本地数据是用户端设备中存储的数据,其可以是实现目标扩展功能所依赖的数据,也可以是目标扩展功能实现后产生的数据。示例性地,目标本地数据包括图片、音频、视频、文件和传感器数据中的至少一种。传感器数据是指利用用户端设备中的传感器所获得的数据。
63.上述目标扩展功能是基于用户端设备中的本地业务功能而实现的功能,其区别于云游戏应用程序开发时实现的原生功能,是云游戏应用程序开发完成后需要扩展实现的功能。可选地,目标扩展功能为依赖于用户端设备中的本地数据或硬件组件实现的业务功能。本公开实施例中的目标扩展功能可以是依赖于用户端设备中的本地数据的功能,例如依赖于用户端设备中存储的本地图片进行头像设置的功能;也可以是依赖于用户端设备中的硬件组件来实现的功能,例如依赖用户端设备中的麦克风进行语音交互的功能。
64.具体地,用户端设备接收中继服务器发送的数据获取指令,该数据获取指令是中继服务器预先从运行云游戏的云端设备接收到的。
65.在一些实施例中,数据获取指令是云端设备基于目标扩展功能自动生成。例如,云端设备运行云游戏过程中自动触发了目标扩展功能的执行,则会自动生成数据获取指令。
66.在另一些实施例中,数据获取指令是云端设备基于用户在用户端设备的交互操作生成。即在s210之前,用户端设备响应于用户对目标扩展功能的触发操作,生成数据获取请求,并将数据获取请求发送至云端设备,以使云端设备基于数据获取请求生成数据获取指令。
67.具体地,首先用户端设备通过其显示屏幕向用户展示目标扩展功能对应的交互操
作控件。例如,用户端设备展示设置头像的相关按钮。然后,用户对该交互操作控件进行触发。例如,用户点击该交互操作控件,或者用户通过语音、手势、眼动等方式控制触发该交互操作控件。此时,用户端设备检测到用户的触发操作,生成数据获取请求。例如,生成获取图片的请求。之后,用户端设备通过云游戏的通信通道,即用户端设备与云端设备之间的直连通道,将该数据获取请求发送至云端设备。云端设备基于该数据获取请求生成数据获取指令。
68.s220、基于数据获取指令调用目标扩展功能对应的本地业务功能,确定目标本地数据。
69.其中,本地业务功能是指用户端设备能够执行的业务功能。
70.具体地,用户端设备对接收到的数据获取指令进行解析,至少获得包含需要获得的数据的描述性信息(如数据类型)以及得到该数据需要执行的本地业务功能的指令解析结果。例如,对于选择相册中的图片来设置用户头像的目标扩展功能,指令解析结果中至少包含“.jpg”等图片类型以及打开相册选择数据的本地业务功能。然后,用户端设备根据指令解析结果来调用相应的本地业务功能。通过该本地业务功能的执行,获得目标本地数据。
71.s230、将目标本地数据经由中继服务器转发至云端设备,以使云端设备基于目标本地数据生成目标扩展功能对应的游戏渲染结果。
72.具体地,用户端设备将目标本地数据发送至中继服务器。中继服务器再将该目标本地数据发送至云端设备。云端设备便根据该目标本地数据来实现云游戏的目标扩展功能,并对功能实现过程及其结果进行渲染,生成相应的游戏渲染结果。
73.s240、接收中继服务器发送的游戏渲染结果并显示。
74.具体地,云端设备将生成的游戏渲染结果发送至中继服务器,而中继服务器将该游戏渲染结果再转发给用户端设备。那么,用户端设备便可接收到云游戏实现目标扩展功能所得的游戏渲染结果,并通过其显示屏幕展示给用户。
75.本公开实施例的应用于云游戏的用户端设备的云游戏交互方案,能够在云游戏交互过程中,通过中继服务器将云游戏的目标扩展功能对应的数据获取指令由云端设备转发至用户端设备,并在用户端设备调用目标扩展功能对应的本地业务功能来获得目标本地数据,然后通过中继服务器将用户端设备中的目标本地数据再转发至云端设备,使得云端设备实现该目标扩展功能以生成游戏渲染结果,之后通过中继服务器将云端设备中的该游戏渲染结果再转发至用户端设备予以显示,提高了扩展并实现云游戏的其他业务功能的便捷性。
76.在本公开的一种实施方式中,目标扩展功能为依赖于用户端设备中已存储数据的扩展功能。例如,选择用户端设备的相册中的图片来设置用户头像的扩展功能。又如,选择用户端设备的存储空间中的图片、音频、视频或文件中的至少一种来发表状态或评论等扩展功能。
77.在一些实施例中,当数据获取指令为数据选取指令时,s220包括:基于数据选取指令调用数据选择组件,并展示数据选择组件对应的数据选择界面;响应于对数据选择界面中数据的选择操作,确定目标本地数据。
78.其中,数据选取指令是用于指示从用户端设备中选择数据的数据获取指令。数据选择组件是用户端设备中的一种功能组件,用于实现选择数据的交互。
79.具体地,用户端设备根据数据选取指令的指令解析结果调用其中的数据选择组件。该数据选择组件的执行会触发在用户端设备的屏幕中展示至少包含各待选择的数据和数据选择控件的数据选择界面。用户可在该数据选择界面中进行数据的选择。用户端设备将用户的选择操作对应的数据确定为目标本地数据。上述过程中数据选择界面中展示的待选择的数据可以是图片、音频、视频和文件中的至少一种。相应地,目标本地数据也可以是图片、音频、视频和文件中的至少一种。例如,数据选择界面中展示了图片、音频和视频,用户选择了图片和视频,那么目标本地数据便为图片和视频。
80.上述涉及数据选取指令的实施例的技术方案,能够在确定目标本地数据的过程中,向用户呈现数据选择界面,以便通过用户在该数据选择界面的选择操作来确定目标本地数据,在实现云游戏的数据选取的目标扩展功能的基础上,增加用户交互操作,使得云游戏的数据选取过程与直接运行于用户端设备的客户端的数据选取过程之间保持一致,提高用户对云游戏的目标扩展功能的使用体验。
81.在本公开的又一种实施方式中,目标扩展功能为依赖于用户端设备中的硬件组件来实现的扩展功能。
82.在一些实施例中,当数据获取指令为短时录音指令时,调用本地业务功能确定目标本地数据的过程包括:基于短时录音指令中的开始录音指令,调用麦克风组件进行录音,并基于短时录音指令中的时长上限阈值或用户停止录音的触发操作停止录音,得到短时音频,作为目标本地数据。
83.其中,短时录音指令是进行较短时间的语音录制的指令,其无需实时交互,而是指示获得一段语音数据。例如,短时录音指令可以是发送语音消息的扩展功能对应的录音指令。可选地,短时录音指令中至少包含开始录音指令和录音时长的上限阈值(即时长上限阈值)。
84.具体地,用户端设备根据开始录音指令的指令解析结果调用其中的麦克风组件,以通过麦克风组件来录音。此时,可向用户展示正在利用麦克风录音的信息,例如“正在录音”的文字提示,或者包含麦克风图标/录音图标的录音界面。当录音时长达到时长上限阈值时,或者当用户执行某些操作触发停止调用麦克风组件时,停止录音,得到pcm音频数据,即短时音频。后续可将该短时音频经由中继服务器转发至云端设备。
85.在又一些实施例中,当数据获取指令为实时录音指令时,调用本地业务功能确定目标本地数据的过程包括:基于实时录音指令中的开始录音指令,调用麦克风组件进行录音,得到实时音频,作为目标本地数据。
86.其中,实时录音指令是用于指示获取实时音频的录音指令,其需将实时得到的音频数据实时地发送至云端设备,以实现实时语音交互,故实时录音指令指示长时间、实时地获取音频。例如,实时录音指令可以是云游戏过程中语音聊天的扩展功能对应的录音指令。在一示例中,实时录音指令中至少包含开始录音指令。在另一示例中,因为实时语音交互还需要用户主动确定是否停止,故实时录音指令中至少还包含停止录音指令。
87.具体地,用户端设备根据实时录音指令中的开始录音指令的指令解析结果调用麦克风组件开始录音,得到pcm音频数据,即实时音频。用户端设备未接收到停止录音指令前,持续调用麦克风组件进行录音。另外,在录音过程中可向用户展示实时语音交互的界面。
88.相应地,将目标本地数据发送至云端设备的过程包括:通过与中继服务器之间的
实时数据通道,将实时音频发送至中继服务器,以使中继服务器通过与云端设备之间的实时数据通道将实时音频发送至云端设备。也就是说,实时语音交互的功能需要在云端设备、中继服务器和用户端设备之间建立实时数据通道,用于实时传递所获得的实时音频。
89.进一步地,在将用户端设备的实时音频实时发送云端设备之后,用户端设备接收中继服务器发送的实时录音指令中的停止录音指令,并基于停止录音指令停止对麦克风组件的调用,结束实时录音。也就是说,用户端设备接收到实时录音指令中的停止录音指令后,经过解析,可停止调用麦克风组件,以结束实时录音过程。
90.上述涉及音频数据的实施例的技术方案,能够在确定音频相关的目标本地数据过程中,调用用户端设备中的麦克风组件进行短时录音或实时录音,在实现云游戏的音频录制的目标扩展功能的基础上,使得云游戏的语音交互过程与直接运行于用户端设备的客户端的语音交互过程之间保持一致,提高用户对云游戏的目标扩展功能的使用体验。
91.在又一些实施例中,当数据获取指令为设备状态获取指令时,调用本地业务功能确定目标本地数据的过程包括:基于设备状态获取指令调用传感器组件,得到传感器数据,作为目标本地数据。
92.其中,设备状态获取指令用于指示获取用户端设备的设备状态的指令。设备状态可以是设备的位姿、温度、设备所处环境的光线和声音等至少一种,其依赖于设备中安装的各种传感器组件来获得。这里的传感器组件至少可以包含加速度传感器、陀螺仪传感器、光敏传感器、位置传感器、磁传感器、摄像头和温度传感器中的至少一种。
93.具体地,用户端设备解析设备状态获取指令后,根据指令解析结果调用相应的传感器组件。例如,设备状态获取指令为获取用户端设备的位姿,那么用户端设备便调用位置传感器(如全球定位系统接收器)、加速度传感器、陀螺仪传感器和磁力传感器等中的至少一种。通过传感器组件所获得的数据(即传感器数据)便可作为目标本地数据。
94.上述获取设备状态的实施例的技术方案,能够获得用户端设备的设备状态信息,为云端设备扩展云游戏的体感交互功能提供基础数据,从而为丰富云游戏功能提供可能性。
95.图3示出了本公开实施例提供的一种应用于中继服务器的云游戏交互方法的流程示意图。该应用于中继服务器的云游戏交互方法可以由具有数据收发的通信功能的服务器执行,例如im服务器。应用于中继服务器的云游戏交互方法中与上述各实施例相同或相应的术语的解释在此不再赘述。如图3所示,该方法可以包括如下步骤:
96.s310、接收运行云游戏的云端设备发送的云游戏的目标扩展功能的数据获取指令,并将数据获取指令转发至用户端设备。
97.其中,目标扩展功能基于用户端设备中的本地业务功能而实现。数据获取指令用于指示用户端设备调用目标扩展功能对应的本地业务功能而获得目标本地数据。
98.具体地,中继服务器中维护有云端设备和用户端设备注册时的唯一性的注册标识(可分别称为云端注册标识和用户端注册标识)的对应关系。中继服务器接收云端设备发送的数据获取指令的同时,可以接收云端设备发送的云端注册标识。然后,根据该云端注册标识和上述对应关系,可确定出云端设备对应的用户端设备,并将数据获取指令发送至该用户端设备。
99.s320、接收用户端设备发送的目标本地数据,并将目标本地数据转发至云端设备。
100.具体地,用户端设备根据数据获取指令调用目标扩展功能对应的目本地业务功能来获得目标本地数据,并将该目标本地数据发送至中继服务器。中继服务器接收到目标本地数据后,将其发送至与该用户端设备对应的云端设备中。
101.s330、接收云端设备基于目标本地数据而生成的目标扩展功能对应的游戏渲染结果,并将游戏渲染结果转发至用户端设备,以使用户端设备显示游戏渲染结果。
102.具体地,云端设备接收目标本地数据后,便可实现目标扩展功能,并生成目标扩展功能对应的游戏渲染结果,其将该游戏渲染结果发送至中继服务器。中继服务器再将游戏渲染结果发送至对应的用户端设备。用户端设备便可显示该游戏渲染结果。
103.本公开实施例的应用于中继服务器的云游戏交互方案,能够在云游戏交互过程中,通过中继服务器打通云游戏的云端设备和用户端设备之间的交互,使得云游戏的目标扩展功能也能同运行于用户端设备中的客户端一样进行用户交互操作和响应,提高了云游戏扩展并实现其他业务功能的便捷性。
104.在本公开实施例中,应用于云端设备的云游戏交互方法可以由运行云游戏的云端设备执行。其中,云端设备可以包括但不限于诸如台式计算机、服务器、服务器集群或超级计算机等的固定终端。
105.图4示出了本公开实施例提供的一种应用于云端设备的云游戏交互方法的流程示意图。应用于中继服务器的云游戏交互方法中与上述各实施例相同或相应的术语的解释在此不再赘述。如图4所示,该方法可以包括如下步骤:
106.s410、将云游戏的目标扩展功能的数据获取指令发送至中继服务器。
107.其中,目标扩展功能基于用户端设备中的本地业务功能而实现。数据获取指令用于指示用户端设备调用目标扩展功能对应的本地业务功能而获得目标本地数据。
108.具体地,云端设备生成目标扩展功能对应的数据获取指令,并将其发送至中继服务器。中继服务器再将数据获取指令转发至用户端设备。
109.在一些实施例中,云端设备在云游戏的运行过程中自动触发目标扩展功能,此时云端设备可自动生成该目标扩展功能对应的数据获取指令。
110.在另一些实施例中,用户在用户端设备中进行目标扩展功能的触发操作。用户端设备基于该触发操作生成数据获取请求,并将该数据获取请求发送至云端设备。云端设备接收到用户端设备发送的数据获取请求后,基于该数据获取请求来生成数据获取指令。这种实施方式能够进一步增强云游戏的可交互性,从而进一步提高用户体验。
111.s420、接收中继服务器从用户端设备获得的目标本地数据。
112.具体地,用户端设备解析数据获取指令,并调用目标扩展功能对应的本地业务功能,获得目标本地数据,并将其发送至中继服务器。中继服务器再将目标本地数据转发至云端设备。云端设备便可接收到中继服务器发送的目标本地数据。
113.s430、基于目标本地数据生成目标扩展功能对应的游戏渲染结果,并将游戏渲染结果经由中继服务器转发至用户端设备,以使用户端设备显示游戏渲染结果。
114.具体地,云端设备可对该目标本地数据进行消费,来实现云游戏的目标扩展功能。例如,云端设备接收到用户从用户端设备的相册中选择的图片后,可以将该图片设置为该用户在云游戏中的用户头像,实现从用户端设备中获取图片来设置云游戏用户头像的功能。然后,云端设备对目标扩展功能的实现过程及结果进行渲染生成游戏渲染结果,并将该
游戏渲染结果发送至中继服务器。中继服务器再将其转发至用户端设备。用户端设备显示该游戏渲染结果,向用户呈现目标扩展功能的实现及结果。
115.本公开实施例的应用于运行云游戏的云端设备的云游戏交互方案,能够在云游戏交互过程中,将云游戏的目标扩展功能的数据获取指令发送至中继服务器;接收中继服务器从用户端设备获得的目标本地数据;基于目标本地数据生成目标扩展功能对应的游戏渲染结果,并将游戏渲染结果经由中继服务器转发至用户端设备,以使用户端设备显示游戏渲染结果。实现了基于目标本地数据的目标扩展功能,提高了扩展并实现云游戏中其他业务功能的便捷性。
116.基于上述各实施例的说明,本公开实施例中以云游戏的图片选取功能和语音聊天功能为例,对云游戏的目标扩展功能的实现过程进行详细说明。
117.在一示例中,目标扩展功能为选取用户端设备的相册中的图片来设置云游戏的用户头像。图5示出了云游戏用户头像设置的云游戏交互过程的示意图。如图5所示,该目标扩展功能的云游戏交互过程包括以下步骤:
118.s501、用户端设备530中的用户客户端(app)532将用户触发生成的图片获取请求发送至云端设备510中的云客户端(app)511。这里的用户客户端(app)532是指用户端设备530中安装的云游戏的app;云客户端(app)511是指云端设备510中安装的云游戏的app。
119.s502、云客户端(app)511将图片获取请求发送至云端sdk 512。
120.s503、云端sdk 512基于该图片获取请求,调用图片选择接口api,并提供数据回调,生成图片获取指令。
121.s504、云端sdk 512将图片获取指令发送至im服务器520。
122.s505、im服务器520将图片获取指令中转至用户端设备530中的客户端sdk 531。
123.s506、客户端sdk 531解析该图片获取指令,获得指令解析结果,并根据指令解析结果调用用户端设备530的图片选择组件。用户客户端(app)532向用户呈现相册533及对其中包含的图片进行选择的相关控件。用户触发图片选择控件,选定图片后,用户客户端(app)532确定选定的图片。
124.s507、用户客户端(app)532将选定的图片发送至客户端sdk 531。
125.s508、客户端sdk 531对图片进行压缩处理,并向im服务器520回传im消息,该im消息中携带压缩处理的图片。
126.s509、im服务器520向云端sdk 512中转im消息。
127.s510、云端sdk 512收到中转的im消息后,从im服务器520中下载图片并解压缩,得到用户选择的图片。
128.s511、云端sdk 512将解压缩的图片传输至云客户端(app)511。
129.s512、云客户端(app)511利用该解压缩的图片进行头像设置。
130.在另一示例中,目标扩展功能为实时语音聊天。图6示出了云游戏实时语音聊天的云游戏交互过程的示意图。如图6所示,该目标扩展功能的云游戏交互过程包括以下步骤:
131.s601、用户端设备530中的用户客户端(app)532将用户触发生成的语音聊天的开始录音请求发送至云端设备510中的云客户端(app)511。
132.s602、云客户端(app)511将开始录音请求发送至云端sdk 512。
133.s603、云端sdk 512基于该开始录音请求,调用实时录音的开始录音接口api,并提
供数据回调,生成开始录音指令。
134.s604、云端sdk 512将开始录音指令发送至im服务器520。
135.s605、im服务器520将开始录音指令中转至用户端设备530的客户端sdk 531。
136.s606、客户端sdk 531解析该开始录音指令,获得指令解析结果,并根据指令解析结果调用用户端设备530的麦克风组件。用户客户端(app)532可以向用户呈现利用麦克风534进行实时录音的界面,并获得麦克风534输出的实时pcm音频数据。
137.s607、用户客户端(app)532将实时pcm音频数据发送至客户端sdk 531。
138.s608、客户端sdk 531通过实时数据通道向im服务器520回传实时pcm音频数据。
139.s609、im服务器520通过实时数据通道向云端sdk 512中转实时pcm音频数据。
140.s610、云端sdk 512将实时pcm音频数据传输至云客户端(app)511。
141.s611、云客户端(app)511实时消费该实时pcm音频数据。
142.s612、用户客户端(app)532将用户触发生成的语音聊天的停止录音请求发送至云客户端(app)511。云客户端(app)511将停止录音请求发送至云端sdk 512。
143.s613、云端sdk 512基于该停止录音请求,调用实时录音的停止录音接口api,生成停止录音指令。并且,云端sdk 512将停止录音指令发送至im服务器520。
144.s614、im服务器520将停止录音指令中转至客户端sdk 531。
145.s615、客户端sdk 531解析该停止录音指令,获得指令解析结果,并根据指令解析结果停止调用麦克风组件,以使麦克风534停止录音。
146.s616、用户客户端(app)532将停止录音后生成的停止录音消息发送至客户端sdk 531。
147.s617、客户端sdk 531通过实时数据通道向im服务器520回传停止录音消息。
148.s618、im服务器520通过实时数据通道向云端sdk 512中转停止录音消息。
149.s619、云端sdk 512将停止录音消息传输至云客户端(app)511。
150.s620、云客户端(app)511实时消费该停止录音消息对应的事件。
151.图7为本公开实施例还提供了一种配置于云游戏的用户端设备的云游戏交互装置的结构示意图。如图7所示,该配置于云游戏的用户端设备的云游戏交互装置700可以包括:
152.数据获取指令接收模块710,用于接收中继服务器发送的云游戏的目标扩展功能的数据获取指令;其中,数据获取指令由运行云游戏的云端设备发送给中继服务器,目标扩展功能基于用户端设备中的本地业务功能而实现;
153.目标本地数据确定模块720,用于基于数据获取指令调用目标扩展功能对应的本地业务功能,确定目标本地数据;
154.目标本地数据发送模块730,用于将目标本地数据经由中继服务器转发至云端设备,以使云端设备基于目标本地数据生成目标扩展功能对应的游戏渲染结果;
155.游戏渲染结果接收模块740,用于接收中继服务器发送的游戏渲染结果并显示;其中,游戏渲染结果为云端设备发送给中继服务器。
156.本公开实施例的配置于云游戏的用户端设备的云游戏交互装置,能够在云游戏交互过程中,通过中继服务器将数据获取指令由云端设备转发至用户端设备,并在用户端设备调用目标扩展功能对应的本地业务功能获得目标本地数据之后,通过中继服务器将用户端设备中的目标本地数据再转发至云端设备,且在云端设备中利用目标本地数据生成目标
扩展功能的游戏渲染结果,再经由中继服务器将该游戏渲染结果转发至用户端设备进行播放,使得云端设备能够实现基于用户端设备中的本地业务功能而实现的目标扩展功能,提高了云游戏中除了游戏原生功能之外的其他功能的扩展便捷性。
157.在一些实施例中,目标本地数据确定模块720具体用于:
158.当数据获取指令为数据选取指令时,基于数据选取指令调用数据选择组件,并展示数据选择组件对应的数据选择界面;
159.响应于对数据选择界面中数据的选择操作,确定目标本地数据;其中,目标本地数据为图片、音频、视频和文件中的至少一种。
160.在一些实施例中,目标本地数据确定模块720具体用于:
161.当数据获取指令为短时录音指令时,基于短时录音指令中的开始录音指令,调用麦克风组件进行录音,并基于短时录音指令中的时长上限阈值或用户停止录音的触发操作停止录音,得到短时音频,作为目标本地数据。
162.在一些实施例中,目标本地数据确定模块720具体用于:
163.当数据获取指令为实时录音指令时,基于实时录音指令中的开始录音指令,调用麦克风组件进行录音,得到实时音频,作为目标本地数据;
164.相应地,目标本地数据发送模块730具体用于:
165.通过与中继服务器之间的实时数据通道,将实时音频发送至中继服务器,以使中继服务器通过与云端设备之间的实时数据通道将实时音频发送至云端设备。
166.进一步地,该配置于云游戏的用户端设备的云游戏交互装置700还包括停止录音模块,用于:
167.在通过与中继服务器之间的实时数据通道,将实时音频发送至中继服务器之后,接收中继服务器发送的实时录音指令中的停止录音指令,并基于停止录音指令停止对麦克风组件的调用,结束实时录音。
168.在一些实施例中,目标本地数据确定模块720具体用于:
169.当数据获取指令为设备状态获取指令时,基于设备状态获取指令调用传感器组件,得到传感器数据,作为目标本地数据;
170.其中,传感器组件包括加速度传感器、陀螺仪传感器、光敏传感器、位置传感器、磁传感器、摄像头和温度传感器中的至少一种。
171.该配置于云游戏的用户端设备的云游戏交互装置700还包括数据获取请求发送模块,用于在接收中继服务器发送的云游戏的目标扩展功能的数据获取指令之前,响应于用户对目标扩展功能的触发操作,生成数据获取请求,并将数据获取请求发送至云端设备,以使云端设备基于数据获取请求生成数据获取指令。
172.图8为本公开实施例还提供了一种配置于中继服务器的云游戏交互装置的结构示意图。如图8所示,该配置于中继服务器的云游戏交互装置800可以包括:
173.数据获取指令转发模块810,用于接收运行云游戏的云端设备发送的云游戏的目标扩展功能的数据获取指令,并将数据获取指令转发至用户端设备;其中,目标扩展功能基于用户端设备中的本地业务功能而实现,数据获取指令用于指示用户端设备调用目标扩展功能对应的本地业务功能而获得目标本地数据;
174.目标本地数据转发模块820,用于接收用户端设备发送的目标本地数据,并将目标
1003通过总线1004彼此相连。输入/输出接口(i/o接口)1005也连接至总线1004。
187.通常,以下装置可以连接至i/o接口1005:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置1006;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置1007;包括例如磁带、硬盘等的存储装置1008;以及通信装置1009。通信装置1009可以允许云游戏交互设备1000与其他设备进行无线或有线通信以交换数据。虽然图10示出了具有各种装置的云游戏交互设备1000,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
188.本公开实施例还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,当计算机程序被处理器执行时,使得处理器实现上述实施例中的应用于云游戏的用户端设备的云游戏交互方法,或者应用于中继服务器的云游戏交互方法,或者应用于运行云游戏的云端设备的云游戏交互方法。
189.特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置1009从网络上被下载和安装,或者从存储装置1008被安装,或者从rom 1002被安装。在该计算机程序被处理装置1001执行时,执行本公开实施例的信息显示方法中限定的上述功能。
190.需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
191.在一些实施方式中,客户端、服务器可以利用诸如http之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“lan”),广域网(“wan”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
192.上述计算机可读介质可以是上述云游戏交互设备中所包含的;也可以是单独存在,而未装配入该云游戏交互设备中。
193.上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该云
游戏交互设备执行时,使得该云游戏交互设备执行:应用于云游戏的用户端设备的云游戏交互方法的步骤,或者应用于中继服务器的云游戏交互方法的步骤,或者应用于运行云游戏的云端设备的云游戏交互方法的步骤。
194.在本公开实施例中,可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
195.附图中的流程图和框图,图示了按照本公开各种实施例的设备、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
196.描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
197.本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。
198.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
199.以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
200.此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
201.尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。