千家信息网

Unity3D播放视频

发表于:2025-02-22 作者:千家信息网编辑
千家信息网最后更新 2025年02月22日,Theora Converter .NET转换器会把其他格式转化为ogv格式,直接被unity识别,不需要安装quicktime不需要重启,更为重要的是比把mov导入unity的要清晰。[csharp
千家信息网最后更新 2025年02月22日Unity3D播放视频


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分辨率的视频以此方法播放不会产生黑边。


0