unity 5.3.1播放视频文件

来源:互联网 发布:程序员刷题的中文网站 编辑:程序博客网 时间:2024/05/29 07:14
</pre><pre code_snippet_id="1626332" snippet_file_name="blog_20160328_2_2976351" name="code" class="csharp">  
1.创建一个cube并带上脚本把视频拖到MovTexture中
2.创建一个材质球把要播放的视频放到材质球的Albedo中
3.把材质球放到cube的mesh renderer中Materials中
<pre name="code" class="csharp">using UnityEngine;  using System.Collections;  public class mov : MonoBehaviour  {    <span style="white-space:pre"></span>    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();         }      }  }  
<span style="font-size: 18px;">原文连接:http://blog.csdn.net/luckydogyxx/article/details/50206049</span>
<span style="font-size: 18px;"></span><p style="line-height: 26px; padding-top: 0px; padding-bottom: 0px; font-family: Arial; font-size: 14px; margin-top: 0px; margin-bottom: 0px;"><span style="color: rgb(51, 51, 51); line-height: 27.2px; text-indent: 16px; font-family: "Helvetica Neue",Helvetica,Tahoma,Arial,STXihei,"Microsoft YaHei",微软雅黑,sans-serif; font-size: 16px; background-color: rgb(254, 254, 254);">在移动端,unity并不提供MovieTexture,AVPro QuickTime也用不了,其最基本的显示方案使用通过 </span><a target=_blank style="color: rgb(202, 0, 0); text-decoration: none;" href="http://docs.unity3d.com/ScriptReference/Handheld.PlayFullScreenMovie.html" target="_blank" rel="nofollow,noindex">PlayFullScreenMovie</a><span style="color: rgb(51, 51, 51); line-height: 27.2px; text-indent: 16px; font-family: "Helvetica Neue",Helvetica,Tahoma,Arial,STXihei,"Microsoft YaHei",微软雅黑,sans-serif; font-size: 16px; background-color: rgb(254, 254, 254);"> ()函数进行全屏播放,根据其官网解释,主要有以下方面:</span></p><p style="line-height: 26px; padding-top: 0px; padding-bottom: 0px; font-family: Arial; font-size: 14px; margin-top: 0px; margin-bottom: 0px;"><span style="color: rgb(51, 51, 51); line-height: 27.2px; text-indent: 16px; font-family: "Helvetica Neue",Helvetica,Tahoma,Arial,STXihei,"Microsoft YaHei",微软雅黑,sans-serif; font-size: 16px; background-color: rgb(254, 254, 254);"></span></p><pre class="prettyprint undefined" style="padding: 0.3em; color: rgb(51, 51, 51); line-height: 1.5em; font-family: Monaco, Menlo, Consolas, "Courier New", monospace; font-size: 14px; margin-top: 0px; margin-bottom: 1.5em; white-space: pre-wrap; -ms-word-break: break-all; -ms-overflow-y: auto; -ms-word-wrap: break-word; background-color: rgb(246, 246, 246);" name="code" snippet_file_name="blog_20160328_3_5941070" code_snippet_id="1626332"><span style="background-color: rgb(255, 255, 255);">(1)视频流直接从设备存储器中获得,所以文件只能是单独提供,视频文件放置在StreamingAssets 文件夹中</span><div class="save_code tracking-ad" style="display: none;" data-mod="popu_249"><a target=_blank target="_blank"><img src="http://static.blog.csdn.net/images/save_snippets.png" alt="" /></a></div>
<span style="background-color: rgb(255, 255, 255);">(2) 视频播放过陈中,unity将会停止;播放结束后unity自动恢复;播放过程中屏幕中的颜色会变为播放器的背景颜色,播放之后恢复。</span><div class="save_code tracking-ad" style="display: none;" data-mod="popu_249"><a target=_blank target="_blank"><img src="http://static.blog.csdn.net/images/save_snippets.png" alt="" /></a></div>
<span style="background-color: rgb(255, 255, 255);">(3)在IOS中,内部实际上是调用MPMoviePlayerController的方法</span><div class="save_code tracking-ad" style="display: none;" data-mod="popu_249"><a target=_blank target="_blank"><img src="http://static.blog.csdn.net/images/save_snippets.png" alt="" /></a></div>
<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><div class="save_code tracking-ad" style="display: none;" data-mod="popu_249"><a target=_blank target="_blank"><img src="http://static.blog.csdn.net/images/save_snippets.png" alt="" /></a></div>
<span style="background-color: rgb(255, 255, 255);"> Handheld.PlayFullScreenMovie ("StarWars.mp4", Color.black, FullScreenMovieControlMode.CancelOnInput);</span><div class="save_code tracking-ad" style="display: none;" data-mod="popu_249"><a target=_blank target="_blank"><img src="http://static.blog.csdn.net/images/save_snippets.png" alt="" /></a></div>
<span style="background-color: rgb(255, 255, 255);">也就是说unity提供的方法更简单了,窗口方式也回避了,还是要去寻求第三方插件。</span><div class="save_code tracking-ad" style="display: none;" data-mod="popu_249"><a target=_blank target="_blank"></a></div>

using UnityEngine;    02.using System.Collections;    03.    04.public class Test : MonoBehaviour {    05.    06.    07.    08.    void OnGUI()    09.    {    10.        if (GUI.Button (new Rect (20,10,200,50), "PLAY ControlMode.CancelOnTouch"))    11.        {    12.            // 不显示任何视频控件,当点击屏幕发生输入之后会跳过动画的播放    13.            // 一般游戏中的开场动画使用这种播放方式    14.            Handheld.PlayFullScreenMovie("test.mp4", Color.black, FullScreenMovieControlMode.CancelOnInput);    15.        }    16.            // 显示播放视频一系列标准控件    17.        if (GUI.Button (new Rect (20,90,200,25), "PLAY ControlMode.Full"))    18.        {    19.            Handheld.PlayFullScreenMovie("test.mp4", Color.black, FullScreenMovieControlMode.Full);    20.        }    21.            // 隐藏所有视频控件    22.        if (GUI.Button (new Rect (20,170,200,25), "PLAY ControlMode.Hidden"))    23.        {    24.            Handheld.PlayFullScreenMovie("test.mp4", Color.black, FullScreenMovieControlMode.Hidden);    25.        }    26.            // 显示最小的一套视频控件    27.        if (GUI.Button (new Rect (20,250,200,25), "PLAY ControlMode.Minimal"))    28.        {    29.            Handheld.PlayFullScreenMovie("test.mp4", Color.black, FullScreenMovieControlMode.Minimal);    30.        }    31.    32.    }    33.    34.}    



                                             
0 0
原创粉丝点击