功能简介
VR 播放组件可用于 VR 全景视频播放,播放中可以通过陀螺仪转动或或手势操作来改变视角,360度无死角的观看全景视频。目前 VR 播放组件可支持配置单目或双目模式,单目模式适用于裸眼观看全景视频,双目模式适用于 VR 眼镜等设备观看。此外 iOS 端支持180度半球模型全景视频,可适应更多的使用场景。
使用条件
目前移动端播放器 SDK 11.3 以上版本及移动端播放器 SDK(高级版)均可使用 VR 播放插件。
VR 播放需获取 移动端播放器高级版 License 方可使用。
操作步骤
步骤1:获取插件
1. VR 播放插件(下文简称“插件”)作为独立的 SDK 提供,您可以根据项目需求进行集成,下载地址如下:
2. 将下载的插件 plugin_monet-release-v.x.x.x.aar 或 TXCMonetPlugin-release-v.x.x.x.framework(x.x.x. 为版本号)集成到工程,启动播放器实例后,宿主会自动加载插件。
步骤2:初始化 License
使用 VR 播放功能需要使用移动端播放器高级版 License,您可参见 移动端播放器 License 指引获取。若您已获取对应 License,可前往 腾讯云视立方控制台 > License 管理 > 移动端 License 获取对应 LicenseURL 和 LicenseKey,随后通过下面的接口进行初始化 License。
String licenceUrl = "填入您购买的 License 的 URL";String licenseKey = "填入您购买的 License 的 Key"TXLiveBase.getInstance().setLicence(context, licenceUrl, licenseKey);
NSString *licenceURL = "填入您购买的 License 的 URL";NSString *licenseKey = "填入您购买的 License 的 Key"[TXLiveBase setLicenceURL:licenceURL key:licenseKey];
步骤3:开启或关闭终端 VR 全景视频能力
启动播放后(建议在收到 TXLiveConstants.PLAY_EVT_VOD_PLAY_PREPARED 事件后调用),可以通过 TXVodPlayer 下面的接口,进行开启和关闭 VR 全景视频:
@Overridepublic void onPlayEvent(TXVodPlayer player, int event, Bundle param) {if (event == TXLiveConstants.PLAY_EVT_VOD_PLAY_PREPARED) {//开启终端VR全景视频单目模式,如需开启双目模式,vaule设为“12”即可mVodPlayer.setStringOption("PARAM_MODULE_TYPE", 11);}}//关闭终端VR全景视频mVodPlayer.setStringOption("PARAM_MODULE_TYPE", 0);
//开启VR全景视频单目模式,如需开启双目模式vaule设为“12”,如需开启180度半球模型全景视频设为"13"//注意:VR全景视频的开启设置需要在播放器播放之前,或者如果在播放过程中进行设置,在设置以后需要重启一下//播放,建议这里可以做一个切换动画NSMutableDictionary *extInfoMap = [NSMutableDictionary dictionary];[extInfoMap setObject:@"11" forKey:@"PARAM_MODULE_TYPE"];[_txVodPlayer setExtentOptionInfo:extInfoMap];//关闭VR全景视频:[extInfoMap setObject:@"0" forKey:@"PARAM_MODULE_TYPE"];
插件加载配置
终端极速高清插件加入到工程后,默认会自动加载, 如果您不希望播放器加载该插件,可以通过下面的方式关闭:
TXVodPlayConfig playConfig = new TXVodPlayConfig();playConfig.mEnableRenderProcess = false;mVodPlayer.setConfig(playConfig);
TXVodPlayConfig *playConfig = [[TXVodPlayConfig alloc] init];playConfig.enableRenderProcess = NO;[_txVodPlayer setConfig:playConfig];
设置混淆规则
在 proguard-rules.pro 文件,将终端极速高清相关类加入不混淆名单(iOS 默认无):
-keep class com.tencent.** { *; }
日志查看
1. 终端 VR 全景视频插件加载成功日志:
D/HostEngine-PluginManger: [loadPlugin], succeed loading pluginId=2 ,pluginClazzName=com.tencent.liteav.monet.MonetPlugin
2. 开启 VR 全景视频功能成功开启日志:
D/MonetPlugin-Process: [updateModule], moduleType=11
3. 如果出现下面的日志,表示签发的 License 不合法:
E/MonetPlugin-Process: [updateModule], error, reason = license is invalid!!
1. 终端 VR 全景视频插件加载成功日志:
[PluginsSDK] plugin config : pluginId = 2, pluginName = Monet
2. 开启终端 VR 全景视频成功开启日志:
[MonetProcessor] PLUGIN: did update monet module, result = 1
3. 如果出现下面的日志,表示签发的 License 不合法:
[MonetProcessor] Monet License invalid, error, set module is null