VR云渲游平台 CVR-SDK接口参考

时间:2024-10-28 16:17:48

SDK接口参考

接口

描述

是否必选

IntentCVR()

【功能说明】

初始化IntentCVR接口。

CVRParameter(std::string userName, std::string userDomain, std::string userPassWord, std::string projectName)

【功能说明】

用户通过该接口配置华为云用户名及密码,客户端根据该信息访问华为云 IAM 获取Token后再连接至VR云渲游平台进行鉴权,以下简称“A类 CVRParameter构造函数”

【请求参数】

  • userDomain:华为云租户名
  • userName:华为云用户名
  • password:华为云用户密码
  • projectName:项目名称
说明:

如何获取上述参数对应值,请参考:

https://support.huaweicloud.com/sis_faq/sis_04_0032.html

CVRParameter构造函数包括A类、B类、C类,请根据需要自选其中一类使用。

三类构造函数的适用场景请参考SDK使用

CVRParameter(std::string iamToken)

【功能说明】

用户可自行访问IAM 获取Token ,通过该接口注入Token进行CVRParameter初始化,以下简称“B类 CVRParameter构造函数”。

【请求参数】

iamToken:用户Token。

CVRParameter(std::string gpuIp, std::string gpuToken)

【功能说明】

用户自行获取gpuIp与gpuToken,通过该接口配置gpuIp与gpuToken用于设备直连GPU服务器,以下简称“C类 CVRParameter构造函数”

【请求参数】

  • gpuIP:GPU服务器公网IP。

    gpuIP的获取方式,请参考“渲染节点调度”。

  • gpuToken:访问GPU服务器所需鉴权Token。

    gpuToken的获取方式,请参考“渲染节点调度”。

void setServiceDomain(std::string serviceDomain)

【功能说明】

设置Service 域名 ,用于指定连接的 GPU云服务器 所在区域。

【请求参数】

ServiceDomain:Service域名。

ServiceDomain的取值,请参见“地区和终端节点”中的“终端节点(Endpoint)”。

void setAppId(std::string appID)

【功能说明】

设置设备要访问的应用。

【请求参数】

appID:应用对应的应用ID。获取应用ID,请参考APP ID的获取方法

void setPort(int port)

【功能说明】

GPU默认监听端口是10020,如果您更改了GPU监听端口(如使用多路会话模式),则需要使用该接口修改客户端访问端口号

【请求参数】

port:指定设备发送连接请求的目的端口信息。

std::string initiateLoad(CVRParameter customParameter)

【功能说明】

加载相关参数,启动云应用流化业务,并对输入参数进行检验。

【请求参数】

customParameter:已经初始化的鉴权参数。

void setLocation(std::string location)

【功能说明】

设置客户端连接的目标云服务器所在区域。

【请求参数】

location:用于设置调度接口的策略,可以指定一个或多个区域,CVR服务会从指定区域中分配空闲的服务器。支持配置公有云region_id,如cn-east-3。

如果未设置location,默认为空数组,此时CVR服务会根据设备的调度策略进行GPU服务器的分配。

location的取值,请参见“地区和终端节点”中的“区域”。

void setProjectID(std::string projectID)

【功能说明】

设置访问客户端调度接口使用的项目ID。

【请求参数】

projectID:项目ID,用于访问调度接口。获取projectID,请参见“获取项目ID”。

仅使用B类的CVRParameter构造函数时需要传入该值。

void setApplicationUserID(std::string userID)

【功能说明】

设置访问客户端调度接口使用的用户标识ID,如不存在用户标识ID,则不需要设置。

【请求参数】

userID:用户标识ID,用于访问调度接口。

void setAppLaunchArgs(std::string appLaunchArgs)

【功能说明】

设置应用启动参数,如应用启动无额外参数,则不需要设置。

【请求参数】

appLaunchArgs:应用启动参数。

public void setResolution(String resolution)

【功能说明】

设置应用启动的分辨率,默认为1080p。

【请求参数】

resolution:应用启动的分辨率。可以设置的参数为“480p”,“540p”,“720p”,“1080p”,“2k”,“4k”

public String getResolution()

【功能说明】

获取设置的应用启动分辨率。

【请求参数】

public void setGpuIpType(String gpuInfoType)

【功能说明】

设置gpu服务器ip的类型,默认为public。

【请求参数】

gpuInfoType:gpu服务器ip的类型,弹性公有ip填“public”,私有ip填"private"。

public String getGpuIpType()

【功能说明】

获取设置的gpu服务器ip类型。

【请求参数】

std::string getDeviceID()

【功能说明】

获取设备ID。

【请求参数】

仅使用C类的CVRParameter构造函数时需要获取该值。

std::string getBrand()

【功能说明】

获取设备品牌。

【请求参数】

否,仅使用C类的CVRParameter构造函数时需要获取该值。

void setErrCallback(CvrErrCallback errCallback)

【功能说明】

用于获取SDK内部的错误信息并处理。

【请求参数】

errCallback:回调接口,支持用户自定义。相关注意事项请参考错误信息回调

CVRInstance_t* CVRCreateInstance()

【功能说明】

创建一个云应用客户端实例。

【请求参数】

CVRCode CVRSetConfig(CVRInstance_t* thiz, CVRConfig_t* config)

【功能说明】

对云应用客户端实例设置属性。

【请求参数】

  • thiz:由CVRCreateInstance()创建的云应用客户端实例。
  • config:CVRConfig_t类型的初始化参数对象。

CVRCode CVRStart(CVRInstance_t* thiz)

【功能说明】

开始显示画面。

【请求参数】

thiz:由CVRCreateInstance()创建的云应用客户端实例。

【返回值】

返回CVRCode类型的返回码,如果值为CVR_CODE_OK常量,则为成功。

void CVRSetLogLevel(int level);

【功能说明】

设置日志级别。

【请求参数】

level:范围[0-8]。数值越大,日志越详细。

CVRCode CVRSetRenderView(CVRInstance_t* thiz,void* view)

【功能说明】

画面显示在指定窗口句柄。

【请求参数】

  • thiz:由CVRCreateInstance()创建的云应用客户端实例。
  • view:一个窗口句柄。

【返回值】

返回CVRCode类型的返回码,如果值为CVR_CODE_OK常量,则为成功。

CVRCode CVRSetControlStateChangedCallback(CVRInstance_t* thiz, CVRControlStateChangedCallback_t callback,void* user_data)

【功能说明】

设置主控模式状态变化的回调通知。

【请求参数】

  • thiz:由CVRCreateInstance()创建的云应用客户端实例。
  • callback:事件触发时的回调函数。
  • view:一个窗口句柄。

【返回值】

返回CVRCode类型的返回码,如果值为CVR_CODE_OK常量,则为成功。

CVRCode CVRSetOnVideoSizeChangedCallback(CVRInstance_t* thiz, CVROnVideoSizeChangedCallback_t callback,void* user_data)

【功能说明】

设置当前视频大小变化的回调通知。

【请求参数】

  • thiz:由CVRCreateInstance()创建的云应用客户端实例。
  • callback:事件触发时的回调函数。
  • user_data:设置回调函数中自定义数据。

【返回值】

返回CVRCode类型的返回码,如果值为CVR_CODE_OK常量,则为成功。

CVRCode CVRSetShowDebug(CVRInstance_t* thiz,int show_debug)

【功能说明】

是否显示调试参数。

【请求参数】

thiz:由CVRCreateInstance()创建的云应用客户端实例。

【返回值】

返回CVRCode类型的返回码,如果值为CVR_CODE_OK常量,则为成功。

CVRCode CVRGetStatistics(CVRInstance_t* thiz, CVRStatistics_t* statistics)

【功能说明】

获取当前串流的统计数据。

【请求参数】

  • thiz:由CVRCreateInstance()创建的云应用客户端实例。
  • statistics:接收相关统计数据的外部变量。

【返回值】

返回CVRCode类型的返回码,如果值为CVR_CODE_OK常量,则为成功。

CVRCode CVRGetAuth(CVRInstance_t* thiz, CVRAuth* out_val)

【功能说明】

获取当前是主控客户端还是旁观客户端。

【请求参数】

  • thiz:由CVRCreateInstance()创建的云应用客户端实例。
  • out_val:接收当前模式的变量。

【返回值】

返回CVRCode类型的返回码,如果值为CVR_CODE_OK常量,则为成功。

CVRCode CVRSetOnAppClosedCallback(CVRInstance_t* thiz,CVROnAppClosedCallback_t callback,void* user_data)

【功能说明】

设置应用关闭的回调通知。

【请求参数】

  • thiz:由CVRCreateInstance()创建的云应用客户端实例。
  • callback:事件触发时的回调函数。
  • user_data:设置回调函数中自定义数据。

【返回值】

返回CVRCode类型的返回码,如果值为CVR_CODE_OK常量,则为成功。

CVRCode CVRRestartApp(CVRInstance_t* thiz,bool cancel)

【功能说明】

重新启动应用。

【返回值】

返回CVRCode类型的返回码,如果值为CVR_CODE_OK常量,则为成功。

CVRCode CVRPause(CVRInstance_t* thiz)

【功能说明】

暂停云应用资源。

【返回值】

返回CVRCode类型的返回码,如果值为CVR_CODE_OK常量,则为成功。

CVRCode CVRResume(CVRInstance_t* thiz)

【功能说明】

恢复云应用资源。

【返回值】

返回CVRCode类型的返回码,如果值为CVR_CODE_OK常量,则为成功。

void CVRRelease(CVRInstance_t* thiz)

【功能说明】

获取资源并停止云应用。

【返回值】

返回CVRCode类型的返回码,如果值为CVR_CODE_OK常量,则为成功。

support.huaweicloud.com/sdkreference-cvr/cvr_02_0300.html