开发安卓应用会碰到播放大批量视频的需求,但是大批量视频动辄几十个G,直接打包到APK不现实,所以需要把视频拷贝到安卓设备的内存中,通过安卓应该获取视频路径播放。
1.Unity3D新建安卓工程AndroidVideo,添加一个RawImage游戏对象,在RawImage上挂载一个VideoPlayer组件,设置VideoPlayer组件的source属性为URL.
2.在打包界面中设置:PlayerSettings->Player->Custom Main Manifest打勾,打勾之后会在你的工程文件中的Asset文件夹中生成一个新的文件夹Plugins,进入这个文件夹里边找到AndroidManifest.xml.添加如下代码:(使应用可以获取安卓文件的读写权限)
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
3.PlayerSettings->Player面板中最上边有2个参数,CompanyName和ProductName这两个是安装安卓APK后生成的路径名称:比如:com.pang.App。
4.视频播放代码,具体怎么播放自行查阅,关键是获取视频路径:videoPlayer.url = Path.Combine(Application.persistentDataPath,"video.mp4");注意,多个视频根据视频名字获取。
5.说明,打包好的APK在安卓设备中安装之后,要先运行一次,运行之后会在安卓设备中产生应用的文件夹:com.pang.App。路径为:Android/data/com.pang.App。这时就可以把要播放的大量视频拷贝到这个文件夹中的files中。具体路径为:Android/data/com.pang.App/files
6.根据关键代码获取这些视频播放。
7.安卓设备安卓好APK后需要在安卓设备权限管理中设置该应用的权限,确保该应用可以读写本地文件。