google vr 入门之制作简易的VR播放器(二),安卓开发基础面试题

陀螺仪模式和手触模式,GVR中默认陀螺仪模式一直存在,手触模式有一个开关可以打开或者关闭(默认关闭)

mVideoView.setTouchTrackingEnabled(true);//开启手触模式

2.取消手机放入VR盒子中的提示

GVR播放器在进入眼镜模式之前有一个页面提示我们将手机放入GoogleCardboard眼镜中,如图所示:

有时候手机静止不动,还不能进入眼镜模式,好像系统在监测是否我们在进行将手机放入眼镜盒子中这一过程,如果想去掉这一过程怎么办?

mVideoView.setTransitionViewEnabled(false);//设置将手机放入盒子中的提示取消

3.去除Android 7.0 without Google VR Services警告对话框

在Android 7.0的手机中使用GVR控件(全景图或者全景视频控件)总是会弹出一个警告对话框,如图所示:

纠结这个问题已经半年多了,现在终于可以解决这个问题了,经过用户反馈,Google终于修复了这个bug,处理如下:

将compile ‘com.google.vr:sdk-videowidget:1.10.0’

换成compile ‘com.google.vr:sdk-videowidget:1.40.0’

在1.40.0的这个版本中Google修复了without Google VR Services弹出警告对话框的问题

我现在直接说解决办法好像很简单的样子,其实这个问题的解决过程还是很漫长的,github和stackoverflow都有讨论这个问题,感兴趣的同学可以看一下:

Avoid Google VR service Warning for nonDaydream devices?

Avoid Warning after Android 7 Update for nonDaydream devices?

除了上面对播放器设置的优化处理之外,还对播放的Activity做了一些优化处理:

4.刚开始加载视频时,添加了一个等待的加载圈(一直转圈,提醒用户视频正在加载中,视频加载成功后隐藏)

5.播放控制面板的显示和隐藏(使用Handler发消息控制)

a.加载视频成功后,延时5秒隐藏控制面板

b.点击屏幕显示控制面板后,延时5秒隐藏

c.设置播放进度完成,手指离开进度条之后,延时5秒隐藏

d.视频播放完成之后,延时5秒隐藏

6.添加播放完成后重播的功能

a.添加重播按钮

b.播放完成后逻辑处理

c.点击重播按钮逻辑处理

7.播放器Activity状态的保存

播放器Activity状态的保存可以带给用户更舒适的体验,比如用户播放视频的过程中,按下home键或者锁屏键,之后又点击我们的应用,那么视频应该继续播放(用户看到哪个位置,就从哪个位置继续播放),如果未做播放器Activity状态的保存处理,可能播放会重头开始,也可能进入播放页面视频暂停播放,这些都是不好的用户体验。

对于播放Activity状态的保存主要代码如下:

@Override

public void onSaveInstanceState(Bundle savedInstanceState) {

//保存当前播放进度,视频总时长,暂停播放状态

savedInstanceState.putLong(STATE_PROGRESS_TIME, mVideoView.getCurrentPosition());

savedInstanceState.putLong(STATE_VIDEO_DURATION, mVideoView.getDuration());

savedInstanceState.putBoolean(STATE_IS_PLAYING, isPlaying);

super.onSaveInstanceState(savedInstanceState);

}

@Override

public

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值