您的位置:首页 > 移动开发 > Unity3D

Unity3D播放视频(包括在IOS和Android移动设备中播放视频)

2013-12-29 11:00 465 查看


我是unity3d新手,编程什么的都不懂,只会一些简单的关于虚拟展示之类的脚本和流程,最多的还是GUI按钮类的功能。其他复杂的就更不懂了。最近在做一个Demo要发布到Android设备上。遇到好多问题。通过朋友和网站的资料才能做下来。今天遇到这样一个问题,就是视频播放问题。在PC上和移动设备上播放视频的方法是不一样的。查了半天,才弄懂怎么回事,在这里分享给大家:

首先在PC上嵌入视频网站上挺多的教程。在PC端中unity3d中播放游戏视频的方式有两种,第一种是在游戏对象中播放,也就是创建一个Plane物体,摄像机垂直的照射在这个面上。第二种是在GUI层面上播放视频。播放视频其实和贴图非常相像,因为播放视频用到的MovieTexture属于贴图Texture的中的一类。Unity支持的播放视频格式有.mov、.mpg、.mpeg、.mp4、.avi,还挺多的呢。只要把视频文件拖拽到Project视图里面即可。

我们先在场景中创建一个面片,然后让摄像机正对这个面片,然后我们现在可以写一个来控制MovTexture的脚本。脚本内容如下:



然后把这个脚本赋予我们刚才创建好的面片,



然后把我们实现准备好的视频放入到脚本的插槽里面就可以了,然后我们运行,就能播放了。

还有一种是用GUI来播放的。这个就不需要我们建立面片了。我们先来写一个这个脚本吧,



把这个脚本赋予给相机,然后还是把准备好的视频拖放到脚本插槽里面就行,然后运行,就能看到视频在全屏播放了。
下面是如何在移动设备中播放视频:

因为在IOS和Android移动设备中,不支持MovTexture,所以我们就不能用MovTexture来做了,这里用到的是Handheld.PlayFullScreenMovie  下面我们先来写一个脚本:



我说一下上面四个按钮的事件:

1.视频播放时触摸屏幕视频关闭

2.视频播放时弹出IOS高级控件,控制视频暂停播放 全屏等等。

3.视频播放时无法停止,当其播放完一次后自动关闭

4.视频播放时弹出IOS高级控件,可控制播放进度。
注意:将视频文件放置在Assets/StreamingAssets/路径下,否则无法播放。我测试的是MP4格式的视频文件,20多M的文件在小米1手机上播放无压力。应该不会消耗手机太多资源。

这个我们可以在场景中创建一个空物体,然后把这个脚本赋予给这个空物体,然后需要我们发布到手机上,才能看出效果,在PC 上是看不出任何效果的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: