Unity 安卓端应用动态加载视频
最近有个需求,用unity开发安卓端软件,有多个视频,需要动态加载播放。
可以先把视频拷贝到可读写目录再播放,也可以用VideoPlayer 直接播放 StreamingAssets 内的视频,我用的是VideoPlayer 直接播放 StreamingAssets 内的视频。
把视频文件放在StreamingAssets目录下,然后VideoPlayer获得文件路径可以直接播放。
videoPlayer.url = Path.Combine(Application.streamingAssetsPath, "xxx.mp4");videoPlayer.Prepare();videoPlayer.Play();
Unity 打印出来的路径是这样的:
jar:file:///data/app/com.xx.xx/base.apk!/assets/xxx.mp4
需要注意的是,用这种方法千万不要用File.Exists判断文件是否存在,我就因为这个问题花了很长时间找原因,明明在编辑器下能正常播放视频,一发布成安卓端应用后就不行。这是因为StreamingAssets 在 Android 中并不是一个真实的文件夹,File.Exists 永远会返回 false。因此,在 Android 上不能用 File.Exists 检查 StreamingAssets 文件是否存在。
夜雨聆风