Unity 吐槽视频录制的大坑

是这样, 公司现在要搞一个项目, 我当前锋去做Demo, 然后坑就开始了,


首先用AR的SDK去识别物体, 然后可以播放视频, 然后可以录制视频, 可以分享视频, 可以播放自己的视频, 本来一个很简单的东西

但是无限制的坑就有了, 首先是平台, 手上没有IOS机子, 自己又不会,就想先用安卓进行测试, 这一下就踩到坑了,

1.将默认的视频和图片放到了StremamingAssetsPath文件夹下了, 使用File进行读取, 搞了半天就是读取不到, 最后各种百度,各种搜索, 最终在API里面看到了关于SAP的介绍, 此路径安卓和IOS平台可读不可写, 且安卓端IO访问权限也是没有的,,,,,,这个大坑啊
2.然后就是读取图片, 老版本经常用WWW的方式读取图片, 但是新版的Unity中WWW过期了, 使用会报黄, 使用新版的UnityWebRequest吧, 只能读取到byte[]. 没办法, 想了个曲线救国的方式, 先用UnityWebRequest的方式读取图片, 然后写入到缓存中, 然后再用Drawing.Image和File配合读取Texture2D, 然后删除缓存,,,,这个坑啊
3.然后就是播放视频了, NNN久之前视频播放的时候用的MoveTexture, 但是这个东西有一个限制, 就是只能是PC平台, 移动平台不支持, 那时候经常性的选用AV Pro Video, 后来Unity出了新的插件叫VideoPlayer, 这是一个可以播放本地视频, 可以直接读取clip, 也可播放网络视频的插件, 好爽快的, 播放网络视频只需要将网址放在URL上然后play就OK了, 相当方便的一个插件, 然后,,,,问题就来了,,,这玩意在安卓平台上播放网络视频是没什么问题, 但是播放本地视频一拨就卡, 一拨就卡, 莫名其妙的卡, 而且不报错, 就卡着, 接着就是一通百度,,,发现大家好像都有类似的问题, 大都舍弃这个了, 要么用AV ProVideo, 要么用EasyMovieTexture, 反正基本上没有用VideoPlayer的了, 然后自己手上刚好有AVProVideo就兴冲冲的用了, 然后,,,擦,,,Unity 版本太高了, 脚本基本不能用, 功能不能正常使用(Unity2018.4.2), EasyMovieTexture在PC端是正常使用, 然后发布到安卓端就挂,,,哎, 没办法, 只能去下载试用版的AVProVideo了, 目前正在以60kb左右的速度下载中,,,坑啊

总结下来就是: 权限问题, 权限问题, 版本问题, ,,,,,,

所以有的时候方法很简单, 也很容易得到, 但是背后的东西往往伴随着各种问题, 而这些问题都是在创建这些方法的时候设立的.  先到这吧, 看看我的试用版了

 

posted on 2019-07-24 17:54  泡茶的小哥  阅读(493)  评论(1编辑  收藏  举报