NGUI动态播放视频

 1 using UnityEngine;
 2 using System.Collections;
 3
 4 public class TestLage : MonoBehaviour {
 5     public MovieManage Movie;//定义一个播放器组件
 6     public UITexture uiTexture;
 7     public GameObject ga;
 8     private string rootPath = "StreamingAssets/MovieSamples/";//存放音乐的地址
 9     // Use this for initialization
10     void Start () {
11     }
12     // Update is called once per frame
13     void Update () {
14     }
15     /// <summary>
16     /// 回调方法
17     /// </summary>
18     /// <param name="str"></param>
19     public void MyAction(string str)
20     {
21         Debug.Log(str);
22     }
23     void OnGUI()
24     {
25         if (GUILayout.Button("PLAY"))
26         {
27             if (ga==null)
28             {
29                 Creat();
30             }
31             Movie.setAction(MyAction);
32             Movie.PlayMovie("HandOfFate");
33         }
34         if (GUILayout.Button("PAUSE"))
35         {
36             if(ga!=null)
37             {
38                 Movie.PauseMovie();
39             }
40         }
41         if (GUILayout.Button("STOP"))
42         {
43             if (ga != null)
44             {
45                 Movie.StopMovie();
46             }
47         }
48         if (GUILayout.Button("Destroy"))
49         {
50             if (ga != null)
51             {
52                 DestroyMovie();
53             }
54         }
55     }
56
57     public void DestroyMovie()
58     {
59         if (ga!= null)
60         {
61             Movie.Texture1.Stop();
62             Destroy(ga);
63         }
64     }
65
66     public void Creat()
67     {
68         ga = NGUITools.AddChild(this.gameObject);
69         ga.name = "ga";
70         ga.AddComponent<MovieManage>();
71         Movie =ga.GetComponent("MovieManage") as MovieManage;//获取播放器组件
72         UITexture tex = NGUITools.AddChild<UITexture>(ga.gameObject);
73     }
74 }

电影管理代码

 1 using UnityEngine;
 2 using System.Collections;
 3 using System;
 4 /// <summary>
 5 /// 说明:
 6 /// 方法:1  MovieManage.PlayMovie("MovieName");MovieName是电影名,必须在resources文件夹下面,rootPath是相对resources。
 7 ///       2  MovieManage.Texture1.Play();播放电影
 8 ///       3  Movie.Texture1.Pause();暂停电影
 9 ///       4  Movie.Texture1.Stop();停止播放电影
10 /// </summary>
11 public class MovieManage : MonoBehaviour {
12     private string rootPath = "StreamingAssets/MovieSamples/";//存放音乐的地址
13     public MovieTexture Texture1;
14     public UITexture uiTexture;
15     private Action<string> action;
16     public bool checkFlag = false;
17
18     public bool SPFlag = true;
19
20     public void setAction(Action<string> action)
21     {
22         this.action = action;
23     }
24     // Use this for initialization
25     void Start () {
26     }
27     // Update is called once per frame
28     void Update () {
29         if (checkFlag)
30         {
31             uiTexture.GetComponent<UIWidget>().width = Screen.width;
32             uiTexture.GetComponent<UIWidget>().height = Screen.height;
33             if (SPFlag)
34             {
35                 if (!Texture1.isPlaying)
36                 {
37                     action("MovieTest测试");
38                     checkFlag = false;
39                     Texture1.Stop();
40                     Destroy(gameObject);
41                 }
42
43             }
44         }
45     }
46     public void PlayMovie(string movieName)
47     {
48         uiTexture = (UITexture)this.transform.FindChild("Texture").GetComponent<UITexture>();
49         //在这里资源加载,movie是视频的文件名不需要后缀名
50         Texture1 = (MovieTexture)Resources.Load(rootPath + movieName, typeof(MovieTexture));
51         uiTexture.mainTexture= Texture1;
52         Texture1.Play();
53         checkFlag = true;
54         SPFlag = true;
55     }
56     public void StopMovie()
57     {
58         SPFlag = false;
59         Texture1.Stop();
60     }
61     public void PauseMovie()
62     {
63         Texture1.Pause();
64         SPFlag = false;
65     }
66
67 }

核心代码:

ga = NGUITools.AddChild(this.gameObject);//自动生成gameObject物件
ga.name = "ga";//修改名字
ga.AddComponent<MovieManage>();//添加脚步组件
Movie =ga.GetComponent("MovieManage") as MovieManage;//获取播放器组件
UITexture tex = NGUITools.AddChild<UITexture>(ga.gameObject);//给ga添加UITexture组件。

时间: 2024-11-05 10:02:58

NGUI动态播放视频的相关文章

Unity3d 5.0 动态播放视频,播放音乐

1.Unity3d 5.0  动态播放视频 工具:Mobile Movie Texture.unitypackage2.1.1 问题描述:目前这个第三方播放视频工具不提供播放时音乐,并且网上教材都是将视频直接拖曳.无法动态更改需要播放的视频 解决方法: 核心代码:  m_movieTexture.Path = "MovieSamples/HandOfFate.ogv"; 试例Demo: [RequireComponent(typeof(MMT.MobileMovieTexture))]

1使用NGUI播放视频

使用movietexture,但是里面只有play,stop,pause  3个方法 Unity3D 原生就支持视频播放的,不是UITexture而是用MovieTexture.MovieTexture.Playe(); 播放MovieTexture.Pause();暂停MovieTexture.Stop();停止 MovieTexture.loop = true;意思是循环播放,false意思是不循环播放 想把Unity中的3d渲染到你的texture上的话  使用Render Texture

NGUI播放视频、全屏等

using UnityEngine; using System.Collections; public class moive : MonoBehaviour { public MovieTexture movTexture; public GameObject moive_texture; public GameObject quan_bt; public GameObject quit_bt; public GameObject play_bt; // Use this for initia

videojs修改播放器样式并实现四路动态播放rtmp流视频

接了个无人机的项目,负责视频播放这一块,选用的是video.js这个视频插件,本以为可以开开心心的开发,谁怎料网上有关这部分的资料如此之少,给我这个伸手党给予了重大压力.好了,不说废话了. 项目的需求为实现一个能四路播放的播放器,能播放无人机拍摄的实时画面,并且能够做到局部刷新而不影响整个页面,并且要能够动态的切换视频流的来源,比方说有一架无人机在你播放视频时起飞了,那么你所能切换的视频流中就应该具备该无人机的rtmp流. 实现过程,化大为小,不断迭代,先实现一路播放,再扩展为四路,再实现无刷新

H5 播放视频常见bug及解决方案

本文摘自:本文来自“小时光茶社(Tech Teahouse)”公众号 原文:https://mp.weixin.qq.com/s/MM5ZwCiWLAeHalsNYMImnw 1. 自动播放问题 通过autoplay属性视频的自动播放需要在video标签上添加autoplay属性, 如: <video autoplay><video/> 但是在很多浏览器里,如iOS下并不支持这个属性,在iOS下必须给webview设置: self.wView.allowsInlineMediaPl

如何使用微信小程序video组件播放视频

相信很多人都有在手机上看视频的习惯,比较看视频更真实更形象.那么我们在微信小程序中如何观看视频呢?这就需要video组件的帮忙了.今天我们就给大家演示一下,如何用微信小程序组件video播放视频.我们在网络上随便找了一个简短的视频源.video组件的引用格式如下: [AppleScript] 纯文本查看 复制代码 ? 1 <video src="http://www.w3school.com.cn//i/movie.mp4" binderror="videoErrorC

OpenCV系列1-简单高效:MFC显示图片、播放视频

先看图: 拉伸显示 居中显示 原始大小显示 显示视频: 实现图片显示,只需要两句话: 只需要包含一个h文件: 调整显示方式: 下面是CvImgCtrl.h的源代码,复制保存下来即可用,或者也可以下载demo,不要积分 控件采用的是双缓冲绘图,显示效率很高,不会闪烁,支持视频.图片的显示 /************************************************************************/ /* OpenCV MFC图像显示控件 v1.0 /* 该控件

朋友圈滚动播放视频功能

欢迎Follow我的GitHub, 关注我的CSDN. 在应用的信息流中, 用户会分享视频, 连续展示, 这就需要处理视频滚动播放. 然而, 在列表视图(RecyclerView)中使用MediaPlayer播放视频时, 会产生一些问题, 即无法同步控制视频的播放和停止. 使用控件库可以解决这一问题. 滚动播放功能: 在页面中, 判断视频的可视比例, 最大视频项开始播放, 其余视频项关闭, 滚动中自动控制切换视频状态. 让我们来看看如何实现这一功能. 本文示例的Github下载地址. 使用的视频

Html5之高级-4 HTML5视频处理(H5中播放视频、编程实现视频播放器)

一.在 HTML5 中播放视频 在 HTML5 中播放视频 - HTML5 中提到最多的是视频处理,视频也是互联网中的重要应用.在HTML5中,增加了一个元素,以便在HTML文档中插入和播放视频,这个元素就是video元素 - video元素提供了播放.暂停和音量控件来控制视频,也提供了width和height属性控制视频的尺寸.如设置的高度和宽度等. - 使用video元素至少要提供两种视频格式的文件: OGG和MP4 - OGG: 包含Theora 视频和 Vorbis 音频解码器 - MP