http://blog.csdn.net/awnuxcvbn/article/details/17618919

点击这里下载视频转换器,该转换器会把其他格式转化为ogv格式,直接被unity识别,不需要安装quicktime不需要重启,更为重要的是比把mov导入unity的要清晰。

  1. using UnityEngine;
  2. using System.Collections;
  3. public class MovieTest : MonoBehaviour
  4. {
  5. //电影纹理
  6. public MovieTexture movTexture;
  7. void Start()
  8. {
  9. //设置当前对象的主纹理为电影纹理
  10. renderer.material.mainTexture = movTexture;
  11. //设置电影纹理播放模式为循环
  12. movTexture.loop = true;
  13. //StartCoroutine(DownLoadMovie());
  14. }
  15. void OnGUI()
  16. {
  17. if (GUILayout.Button("播放/继续"))
  18. {
  19. //播放/继续播放视频
  20. if (!movTexture.isPlaying)
  21. {
  22. movTexture.Play();
  23. }
  24. }
  25. if (GUILayout.Button("暂停播放"))
  26. {
  27. //暂停播放
  28. movTexture.Pause();
  29. }
  30. if (GUILayout.Button("停止播放"))
  31. {
  32. //停止播放
  33. movTexture.Stop();
  34. }
  35. }
  36. IEnumerator DownLoadMovie()
  37. {
  38. WWW www = new WWW("http://127.0.0.1/Head.ogv");
  39. yield return www;
  40. Debug.Log(Time.time);
  41. movTexture = www.movie;
  42. //设置当前对象的主纹理为电影纹理
  43. renderer.material.mainTexture = movTexture;
  44. movTexture.loop = true;
  45. }
  46. }

加声音

  1. using UnityEngine;
  2. using System.Collections;
  3. public class MovieTest : MonoBehaviour
  4. {
  5. //电影纹理
  6. public MovieTexture movTexture;
  7. //声音
  8. public AudioSource movAudio;
  9. void Start()
  10. {
  11. //设置当前对象的主纹理为电影纹理
  12. renderer.material.mainTexture = movTexture;
  13. //设置电影纹理播放模式为循环
  14. movTexture.loop = true;
  15. //StartCoroutine(DownLoadMovie());
  16. }
  17. void OnGUI()
  18. {
  19. if (GUILayout.Button("播放/继续"))
  20. {
  21. //播放/继续播放视频
  22. if (!movTexture.isPlaying)
  23. {
  24. movTexture.Play();
  25. movAudio.Play();
  26. }
  27. }
  28. if (GUILayout.Button("暂停播放"))
  29. {
  30. //暂停播放
  31. movTexture.Pause();
  32. movAudio.Pause();
  33. }
  34. if (GUILayout.Button("停止播放"))
  35. {
  36. //停止播放
  37. movTexture.Stop();
  38. movAudio.Stop();
  39. }
  40. }
  41. IEnumerator DownLoadMovie()
  42. {
  43. WWW www = new WWW("http://127.0.0.1/Head.ogv");
  44. yield return www;
  45. Debug.Log(Time.time);
  46. movTexture = www.movie;
  47. //设置当前对象的主纹理为电影纹理
  48. renderer.material.mainTexture = movTexture;
  49. movTexture.loop = true;
  50. }
  51. }

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

以前只是测试,没有实际使用,发现多次点击播放后会有内存泄露。如下方法解决

  1. using UnityEngine;
  2. using System.Collections;
  3. public class WebMovie : MonoBehaviour {
  4. //电影纹理
  5. public MovieTexture movTexture;
  6. WWW www;
  7. void Start()
  8. {
  9. }
  10. void OnGUI()
  11. {
  12. if (GUILayout.Button("加载视频"))
  13. {
  14. StartCoroutine(DownLoadMovie());
  15. }
  16. if (GUILayout.Button("播放/继续"))
  17. {
  18. //播放/继续播放视频
  19. if (!movTexture.isPlaying)
  20. {
  21. movTexture.Play();
  22. }
  23. }
  24. if (GUILayout.Button("暂停播放"))
  25. {
  26. //暂停播放
  27. movTexture.Pause();
  28. }
  29. if (GUILayout.Button("停止播放"))
  30. {
  31. //停止播放
  32. movTexture.Stop();
  33. }
  34. if (GUILayout.Button("卸载内存"))
  35. {
  36. renderer.material.mainTexture = null;
  37. movTexture = null;
  38. www = null;
  39. Resources.UnloadUnusedAssets();
  40. }
  41. }
  42. IEnumerator DownLoadMovie()
  43. {
  44. www = new WWW("http://127.0.0.1/mumaren.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. }

就是销毁www对象,但是在这之前,要去掉别的对象对www的引用,比如材质球的主贴图、声明的movTexture,或许还有audioClip。

Unity3D播放视频的更多相关文章

  1. Unity3D 播放视频

    http://blog.csdn.net/jbjwpzyl3611421/article/details/12780625 导入: 影片纹理是通过Apple QuickTime导入的(支持.mov, ...

  2. Unity3D 怎样在安卓手机上播放视频

    曾经仅仅会在电脑上通过Unity3D播放视频,研究了下发现通过Unity3D在手机上播放视频也很easy.现介绍例如以下. void OnGUI()     {         if (GUI.But ...

  3. Unity 播放 视频

    Unity3D 播放视频 http://www.cnblogs.com/fortomorrow/archive/2012/11/01/unity07.html Unity3D研究院之两种方式播放游戏视 ...

  4. [Unity3D][Vuforia][IOS]vuforia在unity3d中添加自己的动态模型,识别自己的图片,添加GUI,播放视频

    使用环境 unity3D 5 pro vuforia 4 ios 8.1(6.1) xcode 6.1(6.2) 1.新建unity3d工程,添加vuforia 4.0的工程包 Hierarchy中 ...

  5. Unity3d 播放高质量视频解决方案

    Unity3d 播放高质量视频解决方案~ 最近在折腾一个视频游戏.真的是一个视频游戏,游戏主背景是个大视频.可能切换三四个视频,而且需要无缝切换. 平台是安卓,蕊片是rockclip.找了各式各样的插 ...

  6. Unity3D使用EasyMovieTexture插件播放视频

    Unity3D对于视频的播放兼容个人感觉很差劲,之前写过一篇使用Unity3D自己自带的一些功能去播放视频,链接如下: http://www.cnblogs.com/xiaoyulong/p/8627 ...

  7. Unity3D中播放视频的方法

    播放视频其实和贴图非常相像,因为播放视频用到的 MovieTexture 属于贴图 Texture 的子类.Unity3D 支持的视频格式有很多,但是还是建议使用 ogv 格式的视频,使用其他格式依然 ...

  8. Unity3D基础学习 利用NGUI的Texture播放视频

    利用NGUI播放视频,首先你得导入你的视频 你的电脑中必须安装QuickTime软件,没有,去下一个,如果是Windows系统,安装完之后重启. 接下来转换你的视频格式,如果你的视频在QuickTim ...

  9. 【狼】unity3d 安卓播放视频替代视频纹理

    http://www.cnblogs.com/zhanlang96/p/3726684.html 原创,有问题或错误的话希望大家批评指正 导出apk,是不能用电影纹理的,所以我们只能用这个办法 这个 ...

随机推荐

  1. 2016年10月14日 星期五 --出埃及记 Exodus 18:25

    2016年10月14日 星期五 --出埃及记 Exodus 18:25 He chose capable men from all Israel and made them leaders of th ...

  2. 为Python添加默认模块搜索路径

    方法一:函数添加1 import sys2 查看sys.path3 添加sys.path.append("c:\\") 方法二:修改环境变量w用户可以修改系统环境变量PYTHONP ...

  3. spark1.4

    spark1.4 Windows local调试环境搭建总结 1.scala版本 scala-2.10.4 官方推荐 scala-2.11.7[不推荐,非sbt项目.需要后加载] 2.spark版本 ...

  4. MVC4 经典增删改查详情demo

    MVC4 经典增删改查详情demo 源码 不解释 Mvc4增删改查详情Demo.7z public ActionResult Detail(int? id)  {    ViewData.Model ...

  5. (1)若当前字符不是大于0的数字字符,则复制该字符于新字符串中; (2)若当前字符是一个数字字符,且它之后没有后继字符,则简单地将它复制到新字符串中; (3)若当前字符是一个大于0的数字字符,并且还有后继字符,设该数字字符的面值为n,将它的后继字符重复复制n+1次到新字符串中; (4)以上述一次变换为一组,在不同组之间另插入一个"_"用于分割(5))若字符串中包含有下划线'_',则变换为 \UL

    package b; import java.util.Scanner; public class Zifuchuan { public static void main(String[] args) ...

  6. JAVA WEB SpringMVC+Spring+hibernate 框架搭建【转】

    http://my.oschina.net/Thinkeryjgfn/blog/158951

  7. 关于socket tcp 断线重连

    这个问题困扰过我几次,都没有来得及研究,今天研究一下. 首先写一个最简易的socket tcp程序,连接成功后再关闭服务器然后再用客户端各种操作看是什么情况 测试表明 (1)客户端已经连接,当服务端关 ...

  8. DLL输入和输出函数—dllinport与dllexport

    Microsoft特殊处 dllimport和dllexport存储类修饰符是C语言的Microsoft特殊处扩充.这些修饰显式定义了DLL的客户界面(可执行的文件或另外的DLL).说明为dllexp ...

  9. Limiting To Select Only 5 Check Boxes Out Of Ten In Oracle Forms

    Suppose you want to give an option to user to select only 5 check boxes from given any number of che ...

  10. [HDOJ5943]Kingdom of Obsession(最大匹配,思路)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5943 题意:n个人编号为[s+1,s+n],有n个座位编号为[1,n],编号为i的人只能坐到编号为它的 ...