查看: 1664|回复: 1
打印 上一主题 下一主题

[经验分享] Unity3D播放视频

[复制链接]

100

主题

3

听众

7683

积分

高级设计师

Rank: 6Rank: 6

纳金币
2378
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2015-3-2 00:04:42 |只看该作者 |倒序浏览

Theora Converter .NET转换器会把其他格式转化为ogv格式,直接被unity识别,不需要安装quicktime不需要重启,更为重要的是比把mov导入unity的要清晰。














[csharp] view plaincopy


  • using UnityEngine;  
  • using System.Collections;  
  •   
  • public class MovieTest : MonoBehaviour  
  • {  
  •     //电影纹理  
  •     public MovieTexture movTexture;  
  •   
  •     void Start()  
  •     {  
  •         //设置当前对象的主纹理为电影纹理  
  •         renderer.material.mainTexture = movTexture;  
  •         //设置电影纹理播放模式为循环  
  •         movTexture.loop = true;  
  •         //StartCoroutine(DownLoadMovie());  
  •     }  
  •   
  •     void OnGUI()  
  •     {  
  •         if (GUILayout.Button("播放/继续"))  
  •         {  
  •             //播放/继续播放视频  
  •             if (!movTexture.isPlaying)  
  •             {  
  •                 movTexture.Play();  
  •             }  
  •         }  
  •   
  •         if (GUILayout.Button("暂停播放"))  
  •         {  
  •             //暂停播放  
  •             movTexture.Pause();  
  •         }  
  •   
  •         if (GUILayout.Button("停止播放"))  
  •         {  
  •             //停止播放  
  •             movTexture.Stop();  
  •         }  
  •     }  
  •   
  •     IEnumerator DownLoadMovie()  
  •     {  
  •         WWW www = new WWW("http://127.0.0.1/Head.ogv");  
  •         yield return www;  
  •         Debug.Log(Time.time);  
  •         movTexture = www.movie;  
  •         //设置当前对象的主纹理为电影纹理  
  •         renderer.material.mainTexture = movTexture;  
  •         movTexture.loop = true;  
  •     }  
  •   
  • }  


加声音


[csharp] view plaincopy


  • using UnityEngine;  
  • using System.Collections;  
  •   
  • public class MovieTest : MonoBehaviour  
  • {  
  •     //电影纹理  
  •     public MovieTexture movTexture;  
  •     //声音  
  •     public AudioSource movAudio;  
  •   
  •     void Start()  
  •     {  
  •         //设置当前对象的主纹理为电影纹理  
  •         renderer.material.mainTexture = movTexture;  
  •         //设置电影纹理播放模式为循环  
  •         movTexture.loop = true;  
  •         //StartCoroutine(DownLoadMovie());  
  •     }  
  •   
  •     void OnGUI()  
  •     {  
  •         if (GUILayout.Button("播放/继续"))  
  •         {  
  •             //播放/继续播放视频  
  •             if (!movTexture.isPlaying)  
  •             {  
  •                 movTexture.Play();  
  •                 movAudio.Play();  
  •             }  
  •         }  
  •   
  •         if (GUILayout.Button("暂停播放"))  
  •         {  
  •             //暂停播放  
  •             movTexture.Pause();  
  •             movAudio.Pause();  
  •         }  
  •   
  •         if (GUILayout.Button("停止播放"))  
  •         {  
  •             //停止播放  
  •             movTexture.Stop();  
  •             movAudio.Stop();  
  •         }  
  •     }  
  •   
  •     IEnumerator DownLoadMovie()  
  •     {  
  •         WWW www = new WWW("http://127.0.0.1/Head.ogv");  
  •         yield return www;  
  •         Debug.Log(Time.time);  
  •         movTexture = www.movie;  
  •         //设置当前对象的主纹理为电影纹理  
  •         renderer.material.mainTexture = movTexture;  
  •         movTexture.loop = true;  
  •     }  
  •   
  • }  





注:1280*720分辨率的视频以此方法播放不会产生黑边。


分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-8-20 04:43 , Processed in 0.100395 second(s), 26 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部