Unity3D播放视频
http://blog.csdn.net/awnuxcvbn/article/details/17618919
点击这里下载视频转换器,该转换器会把其他格式转化为ogv格式,直接被unity识别,不需要安装quicktime不需要重启,更为重要的是比把mov导入unity的要清晰。
- 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;
- }
- }
加声音
- 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分辨率的视频以此方法播放不会产生黑边。
以前只是测试,没有实际使用,发现多次点击播放后会有内存泄露。如下方法解决
- using UnityEngine;
- using System.Collections;
- public class WebMovie : MonoBehaviour {
- //电影纹理
- public MovieTexture movTexture;
- WWW www;
- void Start()
- {
- }
- void OnGUI()
- {
- if (GUILayout.Button("加载视频"))
- {
- StartCoroutine(DownLoadMovie());
- }
- if (GUILayout.Button("播放/继续"))
- {
- //播放/继续播放视频
- if (!movTexture.isPlaying)
- {
- movTexture.Play();
- }
- }
- if (GUILayout.Button("暂停播放"))
- {
- //暂停播放
- movTexture.Pause();
- }
- if (GUILayout.Button("停止播放"))
- {
- //停止播放
- movTexture.Stop();
- }
- if (GUILayout.Button("卸载内存"))
- {
- renderer.material.mainTexture = null;
- movTexture = null;
- www = null;
- Resources.UnloadUnusedAssets();
- }
- }
- IEnumerator DownLoadMovie()
- {
- www = new WWW("http://127.0.0.1/mumaren.ogv");
- yield return www;
- Debug.Log(Time.time);
- movTexture = www.movie;
- //设置当前对象的主纹理为电影纹理
- renderer.material.mainTexture = movTexture;
- movTexture.loop = true;
- }
- }
就是销毁www对象,但是在这之前,要去掉别的对象对www的引用,比如材质球的主贴图、声明的movTexture,或许还有audioClip。
Unity3D播放视频的更多相关文章
- Unity3D 播放视频
http://blog.csdn.net/jbjwpzyl3611421/article/details/12780625 导入: 影片纹理是通过Apple QuickTime导入的(支持.mov, ...
- Unity3D 怎样在安卓手机上播放视频
曾经仅仅会在电脑上通过Unity3D播放视频,研究了下发现通过Unity3D在手机上播放视频也很easy.现介绍例如以下. void OnGUI() { if (GUI.But ...
- Unity 播放 视频
Unity3D 播放视频 http://www.cnblogs.com/fortomorrow/archive/2012/11/01/unity07.html Unity3D研究院之两种方式播放游戏视 ...
- [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中 ...
- Unity3d 播放高质量视频解决方案
Unity3d 播放高质量视频解决方案~ 最近在折腾一个视频游戏.真的是一个视频游戏,游戏主背景是个大视频.可能切换三四个视频,而且需要无缝切换. 平台是安卓,蕊片是rockclip.找了各式各样的插 ...
- Unity3D使用EasyMovieTexture插件播放视频
Unity3D对于视频的播放兼容个人感觉很差劲,之前写过一篇使用Unity3D自己自带的一些功能去播放视频,链接如下: http://www.cnblogs.com/xiaoyulong/p/8627 ...
- Unity3D中播放视频的方法
播放视频其实和贴图非常相像,因为播放视频用到的 MovieTexture 属于贴图 Texture 的子类.Unity3D 支持的视频格式有很多,但是还是建议使用 ogv 格式的视频,使用其他格式依然 ...
- Unity3D基础学习 利用NGUI的Texture播放视频
利用NGUI播放视频,首先你得导入你的视频 你的电脑中必须安装QuickTime软件,没有,去下一个,如果是Windows系统,安装完之后重启. 接下来转换你的视频格式,如果你的视频在QuickTim ...
- 【狼】unity3d 安卓播放视频替代视频纹理
http://www.cnblogs.com/zhanlang96/p/3726684.html 原创,有问题或错误的话希望大家批评指正 导出apk,是不能用电影纹理的,所以我们只能用这个办法 这个 ...
随机推荐
- 解析xml,几种方式
市面上解析xml分两种方式,1.dom 2.sax ,xml解析常见的一共有三种开发包,1.jaxp 2.jdom 3.dom4j,这三种方式最常用的是dom4j,jaxp和jdom很少有人用, ...
- 【MySQL】过滤后的结果集较大,用LIMIT查询分页记录,查询效率不理想
> 参考的优秀文章 优化LIMIT分页--<高性能MySQL>(电子工业出版社) > 场景描述 遇到一个场景:查询排序后的结果集较大,我们采用分页显示,每页显示20条记录,但是 ...
- 【MySQL】MySQL复制表结构、表数据
平常,复制.备份表,一般都直接操作IDE完成.但有时,一些初始化数据的脚本,在操作数据前,最好备份下操作表的结构.数据,不至于出错了被置于为难的境地. 所以复制表结构.表数据的语句就派上用场. > ...
- 【Linux】用less查看日志文件
一般程序部署在Linux环境,查看日志时,一般用less满足大部分的需求. 列举.记录最常用的场景,代码以Tomcat日志文件catalna.out为例. > 直接查看文件 less catal ...
- SQLite Databases 数据存储
SQLite Databases数据存储 使用 推荐xutils dbutil package com.practicezx.jishibang.sqlite; import java.io.File ...
- CodeForces 445B DZY Loves Chemistry
DZY Loves Chemistry Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64 ...
- <转>离婚前夜悟出的三件事
文/铁眼(简书作者)原文链接:http://www.jianshu.com/p/832be4f659a0?utm_campaign=hugo&utm_medium=reader_share&a ...
- Linux TOP命令详解
先来看一下执行以后的结果: 各项数值的含义如下: 第一行是任务队列信息. :: 当前时间 up days,: 系统运行时间,格式为天,时:分 user 当前登录用户数 load average: 0. ...
- 最大似然估计(MLE)与最小二乘估计(LSE)的区别
最大似然估计与最小二乘估计的区别 标签(空格分隔): 概率论与数理统计 最小二乘估计 对于最小二乘估计来说,最合理的参数估计量应该使得模型能最好地拟合样本数据,也就是估计值与观测值之差的平方和最小. ...
- json、javaBean、xml互转的几种工具介绍 (转载)
工作中经常要用到Json.JavaBean.Xml之间的相互转换,用到了很多种方式,这里做下总结,以供参考. 现在主流的转换工具有json-lib.jackson.fastjson等,我为大家一一做简 ...