VR功能接入
更新时间:2023-03-17
接入准备
- 接入VR全景视频播放功能,需要使用播放器SDK高级版,并申请高级版License。
- 在frameworks目录下有BDCloudVRRender.framewok,将它导入到你的项目中,并设置到Xcode的Link Binary With Libraries选项中
功能介绍
在高级版SDK中,提供了VR全景视频的渲能力,并且可通过陀螺仪进行视角变换。该能力由BDCloudVRRender组件提供,请确保该组件已集成到你的App中。
快速开始
- 配置VR渲染参数
// 默认参数实例。
self.vrConfig = [BDCloudVRConfiguration defaultConfig];
// 配置VR投影类型。
[self.vrConfig setProjectionMode:<projectionMode>];
// 配置VR渲染模式。
[self.vrConfig setDisplayMode:<displayMode>];
// 配置VR视角交互模式。
[self.vrConfig setInteractiveMode:<interactiveMode>];
// 配置是否支持捏合手势。
[self.vrConfig setPinchEnabled:<pinchEnabled>];
- 配置VR视频输入源,传入播放器渲染视图
[self.vrConfig setProviderBDCloudMediaPlayerView:_player.view
viaHardwareAccelerate:[_player viaHardwareAccelerate]];
- 配置VR渲染视图的父视图
[self.vrConfig setRenderOn:_player.view];
- 初始化VR渲染控制类并开始VR渲染
// 需要传入您申请的高级版证书LicenseID,ID可以在百度智能云控制台查看
self.vrManager = [BDCloudVRRenderControl renderWithLicenseId:LICENSE_ID Config:self.vrConfig];
[self.vrManager resume];
- 停止渲染
[self.vrManager stop]
在播放器SDK Demo中的PlayerViewModel类对上述流程有详细的展示,可以参考。
接口说明
BDCloudVRRenderControl
接口名 | 说明 |
---|---|
+ (BDCloudVRRenderControl *)renderWithLicenseId:(NSString*)licenseID Config:(BDCloudVRConfiguration *)config | 根据VR渲染配置初始化渲染器 licenseID:通过百度智能云控制台申请的licenseID config VR渲染配置 |
- (void)switchInteractiveMode:(BDCVRModeInteractive)interactiveMode | 切换交互方式 |
- (BDCVRModeInteractive)getInteractiveMode | 获取当前交互方式 |
- (void)switchDisplayMode:(BDCVRModeDisplay)displayMode | 切换渲染方式 |
- (BDCVRModeDisplay)getDisplayMode | 获取当前渲染方式 |
- (void)switchProjectionMode:(BDCVRModeProjection)projectionMode | 切换投影类型 |
- (BDCVRModeProjection)getProjectionMode | 获取当前投影类型 |
- (void)pause | 暂停VR渲染 |
- (void)resume | 开始VR渲染 |
- (void)stop | 停止VR渲染 |
- (void) updateOrientation:(UIInterfaceOrientation)orient | 更新陀螺仪方向 |
BDCloudVRConfiguration
接口名 | 说明 |
---|---|
+ (BDCloudVRConfiguration *)defaultConfig | VR渲染默认配置实例化方法 |
- (void)setProviderBDCloudMediaPlayerView:(UIView *)view viaHardwareAccelerate:(BOOL)viaHardwareAccelerate |
配置VR图像输入源为百度智能云播放器渲染视图。 view:百度智能云播放器渲染视图。 viaHardwareAccelerate:百度智能云播放器视频解码方式 |
- (void)setInteractiveMode:(BDCVRModeInteractive)interactiveMode | 配置VR渲染交互模式 |
- (void)setDisplayMode:(BDCVRModeDisplay)displayMode | 配置VR渲染模式 |
- (void)setProjectionMode:(BDCVRModeProjection)projectionMode | 配置VR投影类型 |
- (void)setPinchEnabled:(BOOL)pinch | 配置是否允许捏合手势 |
- (void)setRenderOn:(UIView *)parentView | 配置VR渲染视图的父视图 |