归海一啸
管理员
管理员
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 喜欢达人
  • 原创写手
阅读:1285回复:0

NVisionXR_Android教程六:添加音视频播放控件

楼主#
更多 发布于:2018-04-01 13:44
NVisionXR内置了音视频播放控件,可以轻松实现在AR场景中播放音视频的功能。这篇教程就给大家介绍如何使用NVisionXR引擎播放视频。
NVisionXR封装了一个视频播放控件NVVideoWidget来控制视频。NVVideoWidget和普通3D Plane一样,可以设置位置、缩放、角度等。除此之外,还可以指定播放的视频路径,可以是本地视频文件,也可以是网络视频,甚至可以直播,一般的视频类软件功能都可以实现(有需要的可以联系我们)。
现在我们来写相关代码,如下
private NVVideoWidget mVideoWidget;
@Override
public void onCreate() {
   super.onCreate();

   mVideoWidget = new NVVideoWidget(this, "video");
   mVideoWidget.setPosition(new NVVector3f(0, 1, 0));
   mVideoWidget.setScale(new NVVector3f(3 * 16.0f/9.0f*2, 3* 1, 3*2));
   //mVideoWidget.setVideoPath("sdcard/Panama.mp4");// 加载网络视频地址 也可以设置本地存储的视频文件路径
   mVideoWidget.setVideoPath("http://221.228.226.23/11/t/j/v/b/tjvbwspwhqdmgouolposcsfafpedmb/sh.yinyuetai.com/691201536EE4912BF7E4F1E2C67B8119.mp4");
   addWidget(mVideoWidget);

   mVideoWidget.prepare();
}

另外,NVVideoWidget的需要通过生命周期函数来控制,我们再添加如下代码:
@Override
public void onResume() {
   super.onResume();
   if(mVideoWidget != null)
   {
       mVideoWidget.resume();
   }
}

@Override
public void onStart() {
   super.onStart();
   if(mVideoWidget != null)
   {
       mVideoWidget.start();
   }
}

@Override
public void onPause() {
   super.onPause();
   if(mVideoWidget != null)
   {
       mVideoWidget.pause();
   }
}

@Override
public void onStop() {
   super.onStop();
   if(mVideoWidget != null)
   {
       mVideoWidget.stop();
   }
}

@Override
public void onDestroy() {
   super.onDestroy();
   if(mVideoWidget != null)
   {
       mVideoWidget.shutdown();
   }
}

这样,一个简单的AR播放器就实现了,是不是很容易?我们看看效果如何:

图片:微信图片_20180401125340.jpg

AR学院(www.arvrschool.com),从这里感触未来!

欢迎分享

游客

返回顶部