在Unity3D播放视频
来源:互联网 发布:电视机看电影的软件 编辑:程序博客网 时间:2024/04/27 00:49
- 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。
0 0
- 在Unity3D播放视频
- 在unity3d里面播放视频
- 在unity3d里面播放视频
- 【Unity3d】在Unity中播放视频
- 如何在unity3d中嵌入播放视频【unity3d教程】
- Unity3D游戏开发之在Unity3D中实现视频播放
- 【Unity3d】在Unity3d中播放视频:AVPro Video的使用
- 【Unity3d】在Unity3d中播放视频:AVPro Video的使用
- Unity3D 视频播放
- unity3d 嵌入 播放 视频
- Unity3D播放视频
- Unity3D 播放视频
- Unity3D播放视频
- Unity3D Android播放视频
- Unity3D 播放视频
- Unity3D 播放视频
- unity3d实现视频播放
- unity3d 播放视频
- CMake 用法导览
- java 单例模式
- 接口与抽象类区别
- Trapping Rain Water
- 安装express及配置
- 在Unity3D播放视频
- 欢迎使用CSDN-markdown编辑器
- windows常用命令行操作及相关快捷方式
- centos 中如何将python更新到最新的版本
- 兔子-build.gradle中代码的含义
- Java基础之面向过程
- Notification详解
- 8086的堆栈组织
- JAVA——多线程之基础知识