Cardboard虚拟现实开发技巧(二)之保持手机常亮

简介:

Google Cardboard 虚拟现实眼镜开发技巧(二)之保持手机常亮

快速解决Android与Ios平台的屏幕常亮问题

大家知道我们使用Google的Cardboard为基础去开发虚拟现实应用,是需要把手机放置在CardBoard中或者是形形色色的各种眼镜盒,如暴风魔镜中,然后戴上眼镜去使用虚拟现实应用,欣赏模型也好,看全景视频也好,玩体感游戏也好,没有人希望在使用过程中被频频的手机自动熄屏所打扰,所以自动熄屏这个问题是开发AR和VR应用必须解决的一个问题。

以安卓为例,很多同学可能会去用Unity调用Android JAVA(调用Android部分Jar包)或者将Unity打包为Android程序,再从安卓的角度去申请权限,限制系统黑屏,但是如果应用本身不需要去调用Android Java做深入开发,仅仅为了这个保持手机常亮而去这么做,以至于牺牲掉可移植性,与易测试性,我认为这是非常不值得的。用过Unity去调用Android的同学就会知道,无论是上面哪种结合Android开发的方法,都会让开发测试过程非常的耗时,一次编译打包安装的过程简直繁琐费时至极,以Unity调用Android JAVA为例,一次测试过程需要将安卓src部分打成jar包,复制jar包到Unity里,如果JNI部分有修改,还要复制.so库到相应的位置,再之后build apk,打包好之后复制到手机,再去测试看logcat,一次测试可能要好几分钟,而且消磨人的耐性。再也没法愉快地在Unity Editer里测试,看调试信息了。所以如果没有必要的需求必须用Unity调用JAVA或者C/C++,能在Unity中完成的工作还是在Unity中完成比较好。

所幸Unity提供了去消灭熄屏的接口,而且使用非常简单,所以下面我们就看一下在Android平台和IOS平台如何快速的去解决这个问题。

Android平台的熄屏问题解决

Screen.sleepTimeout = SleepTimeout.NeverSleep; 

仅仅需要让这行C#代码在某个场景的某个脚本中执行就好了,这里需要注意的是场景问题,比如这行代码在游戏进行的场景中执行过了,但是没有在计分场景执行,有可能在计分场景就会熄屏,然后VR用户就不得不从眼镜中掏出手机,无奈的再按一下开机键了。

IOS平台的熄屏问题解决

iPhoneSettings.screenCanDarken = false;

我本是不是苹果用户,,,从没有测试过苹果手机,所以这里我就不乱说了,反正官网上是这么写的。。。

结语

写虚拟现实眼镜开发技巧这个系列的初衷是想能给大家带来实质性的帮助,因为不可能讲到面面俱到,所以摘出一些大家都会遇到的问题来叙述,可能篇幅短了一些,但是一堆东西揉在一起也没有什么主题,所以只能篇幅短一点了,还请大家见谅。关于CardBoard虚拟现实眼镜开发的知识,之前已经我已经写了虚拟现实开发初步系列的1-4篇来帮助大家入门,英文的API也从长城网外的谷歌官网搬运过来了,我还自己翻译了一篇中文版的文档,以上内容都在我博客的分类和专栏中,大家可以自己去翻阅,希望这些内容能帮助到大家~

目录
相关文章
|
7月前
|
Android开发 开发者 UED
个人开发 App 成功上架手机应用市场的关键步骤
个人开发 App 成功上架手机应用市场的关键步骤
|
7月前
|
XML Java Android开发
Android Studio开发之使用内容组件Content获取通讯信息讲解及实战(附源码 包括添加手机联系人和发短信)
Android Studio开发之使用内容组件Content获取通讯信息讲解及实战(附源码 包括添加手机联系人和发短信)
459 0
|
2月前
|
小程序 JavaScript API
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
这篇文章介绍了如何在uni-app和微信小程序中实现将图片保存到用户手机相册的功能。
784 0
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
|
3月前
|
移动开发 Android开发 数据安全/隐私保护
移动应用与系统的技术演进:从开发到操作系统的全景解析随着智能手机和平板电脑的普及,移动应用(App)已成为人们日常生活中不可或缺的一部分。无论是社交、娱乐、购物还是办公,移动应用都扮演着重要的角色。而支撑这些应用运行的,正是功能强大且复杂的移动操作系统。本文将深入探讨移动应用的开发过程及其背后的操作系统机制,揭示这一领域的技术演进。
本文旨在提供关于移动应用与系统技术的全面概述,涵盖移动应用的开发生命周期、主要移动操作系统的特点以及它们之间的竞争关系。我们将探讨如何高效地开发移动应用,并分析iOS和Android两大主流操作系统的技术优势与局限。同时,本文还将讨论跨平台解决方案的兴起及其对移动开发领域的影响。通过这篇技术性文章,读者将获得对移动应用开发及操作系统深层理解的钥匙。
|
4月前
|
Web App开发 Android开发
FFmpeg开发笔记(四十六)利用SRT协议构建手机APP的直播Demo
实时数据传输在互联网中至关重要,不仅支持即时通讯如QQ、微信的文字与图片传输,还包括音视频通信。一对一通信常采用WebRTC技术,如《Android Studio开发实战》中的App集成示例;而一对多的在线直播则需部署独立的流媒体服务器,使用如SRT等协议。SRT因其优越的直播质量正逐渐成为主流。本文档概述了SRT协议的使用,包括通过OBS Studio和SRT Streamer进行SRT直播推流的方法,并展示了推流与拉流的成功实例。更多细节参见《FFmpeg开发实战》一书。
72 1
FFmpeg开发笔记(四十六)利用SRT协议构建手机APP的直播Demo
|
4月前
|
存储 监控 开发工具
Django 后端架构开发:手机与邮箱验证码接入、腾讯云短信SDK和网易邮箱
Django 后端架构开发:手机与邮箱验证码接入、腾讯云短信SDK和网易邮箱
69 0
|
5月前
|
存储 移动开发 Android开发
使用kotlin Jetpack Compose框架开发安卓app, webview中h5如何访问手机存储上传文件
在Kotlin和Jetpack Compose中,集成WebView以支持HTML5页面访问手机存储及上传音频文件涉及关键步骤:1) 添加`READ_EXTERNAL_STORAGE`和`WRITE_EXTERNAL_STORAGE`权限,考虑Android 11的分区存储;2) 配置WebView允许JavaScript和文件访问,启用`javaScriptEnabled`、`allowFileAccess`等设置;3) HTML5页面使用`<input type="file">`让用户选择文件,利用File API;
|
5月前
|
前端开发 小程序
【微信小程序-原生开发】实用教程20 - 生成海报(实战范例为生成活动海报,内含生成指定页面的小程序二维码,保存图片到手机,canvas 系列教程)
【微信小程序-原生开发】实用教程20 - 生成海报(实战范例为生成活动海报,内含生成指定页面的小程序二维码,保存图片到手机,canvas 系列教程)
420 0
|
6月前
|
Web App开发 移动开发 编解码
FFmpeg开发笔记(三十二)利用RTMP协议构建电脑与手机的直播Demo
本文讨论了实时数据传输在互联网中的重要性,如即时通讯和在线直播。一对一通信通常使用WebRTC技术,但一对多直播需要流媒体服务器和特定协议,如RTSP、RTMP、SRT或RIST。RTMP由于其稳定性和早期普及,成为国内直播的主流。文章通过实例演示了如何使用OBS Studio和RTMP Streamer进行RTMP推流,并对比了不同流媒体传输协议的优缺点。推荐了两本关于FFmpeg和Android开发的书籍以供深入学习。
97 0
FFmpeg开发笔记(三十二)利用RTMP协议构建电脑与手机的直播Demo
|
5月前
|
Web App开发 编解码
软件开发常见流程之兼容性和手机屏页面设计,PC端和移动端常见浏览器,国内的UC都是根据Webkit修改过来的内核,开发重点关注尺寸,常见移动端尺寸汇总,移动端,理想视口根据你设别的样式进行修改
软件开发常见流程之兼容性和手机屏页面设计,PC端和移动端常见浏览器,国内的UC都是根据Webkit修改过来的内核,开发重点关注尺寸,常见移动端尺寸汇总,移动端,理想视口根据你设别的样式进行修改