Google VR Demo 工程解析

Google VR 工程Demo解析

  • 把下载后的工程解压,用AndroidStudio导入,目录结构如下:

Project Struct

  • 工程当中包含三种类型的Demo:
    • 利用VR viewer 播放360全景照片和全景视频。
    • 利用GvrView 和 OpenGL 实现虚拟3D
    • Daydream的控制器,

由于不会OpenGL(ps:正打算学之),这次只讲VR Viewer 播放全景照片和全景视屏。

simplepanowidgetsimplevideowidget这两个demo演示了SDK中VR View的基本功能。它们都是单个Activity的应用,分别使用VrPanoramaViewVrVideoView来在应用中嵌入播放全景照片和全景视频。

VrPanoramaViewVrVideoView

旋转手机后,可以看到分屏显示的两个部分。simplevideowidget允许用户点击屏幕去暂停和播放视屏。可以通过SeekBar来拖动视频播放。VR View 提供两种模式:全屏模式和Cardboard模式。

fullscreen

cardboard

代码讲解

  • 布局文件代码

    很简单,没有什么好说的。

 <com.google.vr.sdk.widgets.pano.VrPanoramaView
            android:id="@+id/pano_view"
            android:layout_margin="5dip"
            android:layout_width="match_parent"
            android:scrollbars="@null"
            android:layout_height="250dip"/>
  • 在Activity中重要的方法有:
panoWidgetView = (VrPanoramaView) findViewById(R.id.pano_view);
panoWidgetView.setEventListener(new ActivityEventListener());

//家在本地图片
panoWidgetView.loadImageFromBitmap(BitmapFactory.decodeStream(istr), panoOptions);

VrPanoramaView.Options 用来设置图片的格式

VrPanoramaEventListener 家在图片的时候的监听,家在成功或者加载失败
  • 播放视频和显示图片类似,主要的区别在于:
 <com.google.vr.sdk.widgets.video.VrVideoView
          android:id="@+id/video_view"
          android:layout_width="match_parent"
          android:scrollbars="@null"
          android:layout_height="250dip"/>

// Bind input and output objects for the view.
    videoWidgetView = (VrVideoView) findViewById(R.id.video_view);
    videoWidgetView.setEventListener(new ActivityEventListener());

 //加载视频
 loadVideoFromAsset 从asset文件夹中加载    
 loadVideo 根据URL去加载

 eg:
 if (uri == null || uri.length < 1 || uri[0] == null) {
    videoWidgetView.loadVideoFromAsset("congo.mp4");
 } else {
     videoWidgetView.loadVideo(uri[0]);
  }

其实用SDK去展示照片和视频还是很简单的,下一步OpenGL ES。(Go go go...)

转载于:https://my.oschina.net/u/1403759/blog/691689

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值