VR 播放插件

最近更新时间:2024-04-01 20:24:23

我的收藏

功能简介

VR 播放组件可用于 VR 全景视频播放,播放中可以通过陀螺仪转动或或手势操作来改变视角,360度无死角的观看全景视频。目前 VR 播放组件可支持配置单目或双目模式,单目模式适用于裸眼观看全景视频,双目模式适用于 VR 眼镜等设备观看。此外 iOS 端支持180度半球模型全景视频,可适应更多的使用场景。

使用条件

目前移动端播放器 SDK 11.3 以上版本及移动端播放器 SDK(高级版)均可使用 VR 播放插件。
VR 播放需获取 移动端播放器高级版 License 方可使用。

操作步骤

步骤1:获取插件

1. VR 播放插件(下文简称“插件”)作为独立的 SDK 提供,您可以根据项目需求进行集成,下载地址如下:
终端类别
VR 插件下载地址
Android 端
VR 插件
iOS 端
VR 插件
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。
Android
iOS
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 全景视频:
Android
iOS
@Override
public 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"];

插件加载配置

终端极速高清插件加入到工程后,默认会自动加载, 如果您不希望播放器加载该插件,可以通过下面的方式关闭:
Android
iOS
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.** { *; }

日志查看

Android
iOS
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