Unity3D播放视频

  • 来源:网络
  • 更新日期:2020-09-10

摘要:建站服务器 Theora Converter .NET转换器会把其他格式转化为ogv格式,直接被unity识别,不需要安装quicktime不需要重启,更为重要的是比把mov

建站服务器


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



[csharp] view plaincopy


1. using UnityEngine;  

2. using System.Collections;  

3.   

4. public class MovieTest : MonoBehaviour  

5. {  

6.     //电影纹理  

7.     public MovieTexture movTexture;  

8.   

9.     void Start()  

10.     {  

11.         //设置当前对象的主纹理为电影纹理  

12.         renderer.material.mainTexture = movTexture;  

13.         //设置电影纹理播放模式为循环  

14.         movTexture.loop = true;  

15.         //StartCoroutine(DownLoadMovie());  

16.     }  

17.   

18.     void OnGUI()  

19.     {  

20.         if (GUILayout.Button(播放/继续))  

21.         {  

22.             //播放/继续播放视频  

23.             if (!movTexture.isPlaying)  

24.             {  

25.                 movTexture.Play();  

26.             }  

27.         }  

28.   

29.         if (GUILayout.Button(暂停播放))  

30.         {  

31.             //暂停播放  

32.             movTexture.Pause();  

33.         }  

34.   

35.         if (GUILayout.Button(停止播放))  

36.         {  

37.             //停止播放  

38.             movTexture.Stop();  

39.         }  

40.     }  

41.   

42.     IEnumerator DownLoadMovie()  

43.     {  

44.         WWW www = new WWW(http://127.0.0.1/Head.ogv);  

45.         yield return www;  

46.         Debug.Log(Time.time);  

47.         movTexture = www.movie;  

48.         //设置当前对象的主纹理为电影纹理  

49.         renderer.material.mainTexture = movTexture;  

50.         movTexture.loop = true;  

51.     }  

52.   

53. }  



加声音


[csharp] view plaincopy


1. using UnityEngine;  

2. using System.Collections;  

3.   

4. public class MovieTest : MonoBehaviour  

5. {  

6.     //电影纹理  

7.     public MovieTexture movTexture;  

8.     //声音  

9.     public AudioSource movAudio;  

10.   

11.     void Start()  

12.     {  

13.         //设置当前对象的主纹理为电影纹理  

14.         renderer.material.mainTexture = movTexture;  

15.         //设置电影纹理播放模式为循环  

16.         movTexture.loop = true;  

17.         //StartCoroutine(DownLoadMovie());  

18.     }  

19.   

20.     void OnGUI()  

21.     {  

22.         if (GUILayout.Button(播放/继续))  

23.         {  

24.             //播放/继续播放视频  

25.             if (!movTexture.isPlaying)  

26.             {  

27.                 movTexture.Play();  

28.                 movAudio.Play();  

29.             }  

30.         }  

31.   

32.         if (GUILayout.Button(暂停播放))  

33.         {  

34.             //暂停播放  

35.             movTexture.Pause();  

36.             movAudio.Pause();  

37.         }  

38.   

39.         if (GUILayout.Button(停止播放))  

40.         {  

41.             //停止播放  

42.             movTexture.Stop();  

43.             movAudio.Stop();  

44.         }  

45.     }  

46.   

47.     IEnumerator DownLoadMovie()  

48.     {  

49.         WWW www = new WWW(http://127.0.0.1/Head.ogv);  

50.         yield return www;  

51.         Debug.Log(Time.time);  

52.         movTexture = www.movie;  

53.         //设置当前对象的主纹理为电影纹理  

54.         renderer.material.mainTexture = movTexture;  

55.         movTexture.loop = true;  

56.     }  

57.   

58. }  






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

 


新网虚拟主机