unity 5.3.1播放视频文件
2015-12-23 10:23
465 查看
</pre><pre code_snippet_id="1626332" snippet_file_name="blog_20160328_2_2976351" name="code" class="csharp">
using UnityEngine; using System.Collections; public class mov : MonoBehaviour { public MovieTexture movTexture; void Start() { //设置当前对象的主纹理为电影纹理 GetComponent<Renderer>().material.mainTexture = movTexture; movTexture.Play(); //设置电影纹理播放模式为循环 movTexture.loop = true; } void OnGUI() { if (GUILayout.Button("播放/继续")) { //播放/继续播放视频 if (!movTexture.isPlaying) { movTexture.Play(); } } if (GUILayout.Button("暂停播放")) { //暂停播放 movTexture.Pause(); } if (GUILayout.Button("停止播放")) { //停止播放 movTexture.Stop(); } } }
更多时候是视频本身的格式或者分辨率所致,需要使用某一个软件进行转化一些,即可;TheoraConverte
此软件我已共享到csdn,链接如下:http://download.csdn.net/detail/luckydog1120446388/9333693
原文连接:http://blog.csdn.net/luckydogyxx/article/details/50206049
在移动端,unity并不提供MovieTexture,AVPro QuickTime也用不了,其最基本的显示方案使用通过 PlayFullScreenMovie ()函数进行全屏播放,根据其官网解释,主要有以下方面:
<span style="background-color: rgb(255, 255, 255);">(1)视频流直接从设备存储器中获得,所以文件只能是单独提供,视频文件放置在StreamingAssets 文件夹中</span>
<span style="background-color: rgb(255, 255, 255);">(2) 视频播放过陈中,unity将会停止;播放结束后unity自动恢复;播放过程中屏幕中的颜色会变为播放器的背景颜色,播放之后恢复。</span>
<span style="background-color: rgb(255, 255, 255);">(3)在IOS中,内部实际上是调用MPMoviePlayerController的方法</span>
<span style="background-color: rgb(255, 255, 255);">(<span class="number">4</span>)能够支持的格式: .mov, .mp4, .mpv, <span class="keyword" style="font-weight: bold;">and</span> .<span class="number">3</span>gp ,<span class="constant">H</span>.<span class="number">264</span>,<span class="constant">MPEG</span>-<span class="number">4</span> <span class="constant">Part</span> <span class="number">2</span> video</span>
<span style="background-color: rgb(255, 255, 255);"> Handheld.PlayFullScreenMovie ("StarWars.mp4", Color.black, FullScreenMovieControlMode.CancelOnInput);</span>
<span style="background-color: rgb(255, 255, 255);">也就是说unity提供的方法更简单了,窗口方式也回避了,还是要去寻求第三方插件。</span>
using UnityEngine; using System.Collections; public class Test : MonoBehaviour { void OnGUI() { if (GUI.Button (new Rect (20,10,200,50), "PLAY ControlMode.CancelOnTouch")) { // 不显示任何视频控件,当点击屏幕发生输入之后会跳过动画的播放 // 一般游戏中的开场动画使用这种播放方式 Handheld.PlayFullScreenMovie("test.mp4", Color.black, FullScreenMovieControlMode.CancelOnInput); } // 显示播放视频一系列标准控件 if (GUI.Button (new Rect (20,90,200,25), "PLAY ControlMode.Full")) { Handheld.PlayFullScreenMovie("test.mp4", Color.black, FullScreenMovieControlMode.Full); } // 隐藏所有视频控件 if (GUI.Button (new Rect (20,170,200,25), "PLAY ControlMode.Hidden")) { Handheld.PlayFullScreenMovie("test.mp4", Color.black, FullScreenMovieControlMode.Hidden); } // 显示最小的一套视频控件 if (GUI.Button (new Rect (20,250,200,25), "PLAY ControlMode.Minimal")) { Handheld.PlayFullScreenMovie("test.mp4", Color.black, FullScreenMovieControlMode.Minimal); } } }
相关文章推荐
- unity3d API汇总
- [Unity实战]攻击范围的绘制
- Community detection
- Unity3d 4.6版本时assetbundle.createFromFile的问题
- Unity 绘制多边形
- (插播)unity的 异常捕捉和 ios Android 崩溃信息的捕捉。
- Unity3D游戏开发之截屏保存精彩瞬间
- BCE0019: '' is not a member of 'UnityEngine.Component'的问题
- Unity 5.x BuildAssetBundles 角色换装 加载ab包 资源管理 根据部件组合完整角色
- Unity UGUI Button 按下,抬起,连续按下,鼠标退出事件响应函数
- Unity3d使用MeshCollider检测区域
- unity, unity中GL.MultMatrix的一个超级bug
- unity中世界坐标和绝对坐标之间的转换
- Unity3D导入MAX文件的一些问题。不断更新。。。
- Unity的Json解析<二>–写Json文件
- Unity的Json解析<二>–写Json文件
- Unity中模型的面数问题
- Unity3d模仿龙之谷的Camare
- Unity3d中文在部分机型显示不全解决方案
- 关于unity3d多点触控的研究