Unity3D 播放本地视频遇到的问题
哈喽,大家好!来讲讲我遇到的问题吧:
首先俺上网搜了一下unity3d 支持什么格式的视频,然而显示这六种格式➢➣➤.mov, .mpg, .mpeg, .mp4, .avi, .asf ;待耐心人士去测试,我使用测试的格式类型为.mp4。
假如格式不对你可以使用格式转换工具弄一弄。金星老师:" 完美!"
预先准备:首先去下载QuickTime Player这个播放器,貌似需要这鸟东西过滤 ➠ 。
如不下载可能出现的问题:1)、把视频拖到工程里显示的是一张白纸的图标;
2)、视频不能拖拽给脚本与对象;
下载安装该播放器后 ➠ 如果你已经把视频拖到了工程里,那请先把工程中的视频先删除,然后用QuickTime Player播放器尝试能否播放你的视频,如果能够播放,你就可以重新拖拽视频到工程中
它会有个加载视频的等待(类似导入包), 导入完成后视频不再显示苍白的脸然而还可以拖拽该视频 (假如不行请重启再操作一变)。
说说我下载这播放器中标的苦水:我下载完后说什么需要注册升级的,然而我信了,帝都嘛你懂的!去找破解然而下载注册机,下载完后防火墙提示危险,看了一下注册机说明使用说到需要关闭杀毒软件,关闭执行。呵呵 中标木马,帮我乱装东西不断跳广告,此处省略一千字脏话好了希望大家不要跳我这个坑。
正题:
一、在PC端有两种方法来实现Unity3D播放本地视频
1、在场景界面创建对象用于播放视频如:Plane 然后旋转对象让摄像机能看到该面板,编写简单的代码,把脚本拖拽到对象中,视频赋予给脚本点击运行播放就这么简单。代码步骤如下:
脚本中有播放/继续、暂停、停止操作,Plane面板默认大小为1:1:1 如果想调整大小可以通过场景界面拖拽Plane面板也可以通过 ➠ transform.localScale = new Vector(1,1,1); 控制大小。
注意 : 在Unity3D 5.0版本是 renderer 点不出 material.mainTexture方法的; 所以我们需要换另一种方式来获得该方法附值。
2、第二种方法是基于GUI。大家可以把刚刚创建的Plane对象以及世界定向光删除,直接将脚本绑定在摄像机对象中即可,接着我们简单的修改一下刚刚的游戏脚本。
第二种方法是通过GUI直接调用DrawTexture方法来实现的,默认大小是屏幕的大小宽高,如想修改可以通过new Rect 来更改显示的大小效果图如下 :
二、最后说一下移动端实现播放视频
◊移动端实现播放视频的脚本代码和PC端是不一样的,注意:最好不要在同一个项目中编写PC端与移动端,因为导出的时候有可能会失败。附上移动端代码如下:
1.视频播放时触摸屏幕视频关闭
2.视频播放时弹出Android高级控件,控制视频暂停播放 全屏等等。
3.视频播放时无法停止,当其播放完一次后自动关闭
4.视频播放时弹出Android高级控件,可控制播放进度。
说一下我测试的手机是Android的,那个IOS没钱买,应该在IOS是能用的,豪们你们可以试试。再来我在Unity3D 5.0测试导出时失败因为5.0需要JDK1.7然而我装的是1.6,人懒嘛就懒的换来测试了,这个你们可以试一下下。 最后谢谢大家!!!