搜索本产品文档关键词
VR功能接入
所有文档
menu

智能视频SDK

VR功能接入

接入准备

接入VR全景播放功能,需要使用播放器SDK高级版,并申请高级版License。

功能介绍

在高级版SDK中,提供了VR全景视频的渲能力,并且可通过陀螺仪进行视角变换。该能力由VRKit组件提供,请确保该组件已集成到你的APP中。

快速开始

1.初始化VRKit组件

Java
1mVrKit = new VRKit();
2// 需要传入您申请的高级版证书LicenseID,ID可以在百度智能云控制台查看
3mVrKit.init(mAppContext, "your-license-id");

2.设置目标View,并启动渲染

Java
1// 设置目标surface,VR渲染的内容将绘制到这个view上
2VrRenderView view = new VrRenderView(context);
3mVrKit.prepareWithTargetSurface(view);
4mVrKit.start();

3.获取输入surface,将播放器输出的原始画面渲染到此surface上,

Java
1mediaPlayer.setSurface(mVrKit.getInputSurface());

4.在播放器准备就绪时和视频宽高发生变化时通知VRKit,典型场景是在播放器对应的回调中使用

Java
1public void onPrepared(IMediaPlayer mp) {
2    mVrKit.onPlayerPrepared();
3}
4public void onVideoSizeChanged(IMediaPlayer mp, int width, int height, int sarNum, int sarDen) {
5    mVideoWidth = mp.getVideoWidth();
6    mVideoHeight = mp.getVideoHeight();
7    mVrKit.onVideoSizeChanged(mVideoWidth, mVideoHeight);
8}

5.释放,典型场景是随播放器的release调用

Java
1// 销毁,如果要重新使用,则需要重新init
2mVrKit.release();

在播放器SDK Demo中的BDCloudVideoView类对上述流程有详细的展示,可以参考。

接口说明

VRKit类

接口名
描述
void init(Context context, String appID) 初始化,鉴权失败时会抛出异常
void release() 销毁。如果要重新使用,则需要重新调用init
void prepareWithTargetSurface(Surface surface) 设置目标GLTextureView,VR渲染结果将绘制到此textureView上。
必须在init之后调用,否则抛出异常。
Surface getInputSurface() 获取输入surface, 将原始画面渲染到此surface上。
必须在prepareWithTargetSurface之后调用,否则抛出异常。
void onPlayerPrepared() 通知VRKit播放器已经准备就绪。
必须在prepareWithTargetSurface之后调用,否则抛出异常。
void onVideoSizeChanged(int w, int h) 通知VRKit视频宽高发生了变化。
必须在prepareWithTargetSurface之后调用,否则抛出异常。
void start() 开始渲染。
必须在prepareWithTargetSurface之后调用,否则抛出异常。
void pause() 暂停渲染。
必须在prepareWithTargetSurface之后调用,否则抛出异常。
上一篇
投屏功能接入
下一篇
绿幕抠图功能接入