- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Unity3D游戏开辟之在Unity3D中实现视频播放
今天我们来做一个在Unity3D中实现视频播放的实例。该文章出自 HYPERLINK / \t /_blank 【狗刨学习网】
? ?? ?
? ?? ?首先,Unity支持的播放视频格式有.mov、.mpg、.mpeg、.mp4、.avi及.asf。我们只需要将这些文件放在项目文件夹里就可实现视频文件的导入。在Window系统下,我们需要在苹果公司的QuickTime软件下才能顺利地将视频文件导入Unity。如果视频文件含有音频文件,那么在导入Unity后会生成相应的音频文件。在Unity3D中实现视频播放的方法有两种:基于纹理贴图、基于GUI。我们下面分别来讲解:
? ?? ? 1、基于纹理贴图
using UnityEngine;??
using System.Collections;??
??
public class MovieByTexture : MonoBehaviour {??
? ?? ?
? ? //电影纹理贴图??
? ? public MovieTexture mMovie;??
? ? //电影音频源??
? ? private AudioSource mAudio;??
? ?? ?
? ? //媒体信息定义??
? ? private string mediaName;//媒体名称??
? ? private string mediaLength;//媒体长度??
? ?? ?
? ? void Start ()? ?
? ? {??
? ?? ?mAudio=GetComponent();??
? ?? ?//设置当前对象的主纹理为电影纹理贴图??
? ?? ?renderer.material.mainTexture=mMovie;??
? ?? ?//设置电影纹理播放模式为循环??
? ?? ?mMovie.loop=true;??
? ?? ?//开始播放电影??
? ?? ?mMovie.Play();??
? ?? ?//开始播放音乐??
? ?? ?mAudio.Play();??
? ? }??
? ?? ?
? ? void Update ()? ?
? ? {??
? ?? ?//在这里更新媒体信息??
? ?? ?mediaName=mM;??
? ?? ?mediaLength=mMovie.duration.ToString();??
? ? }??
? ?? ?
? ? void OnGUI()??
? ? {??
? ?? ?//播放控制??
? ?? ?if(GUILayout.Button(播放,GUILayout.Height(30)))??
? ?? ?{??
? ?? ???mMovie.Play();??
? ?? ???mAudio.Play();??
? ?? ?}??
? ?? ?//暂停控制??
? ?? ?if(GUILayout.Button(暂停,GUILayout.Height(30)))??
? ?? ?{??
? ?? ???mMovie.Pause();??
? ?? ???mAudio.Pause();??
? ?? ?}??
? ?? ?//停止控制??
? ?? ?if(GUILayout.Button(停止,GUILayout.Height(30)))??
? ?? ?{??
? ?? ???mMovie.Stop();??
? ?? ???mAudio.Stop();??
? ?? ?}??
? ?? ?? ??
? ?? ?//绘制文本信息??
? ?? ?GUILayout.Label(媒体名称:+mediaName,GUILayout.Height(30));??
? ?? ?GUILayout.Label(媒体长度:+mediaLength,GUILayout.Height(30));? ? ;??
? ? }??
}??
复制代码
2、基于GUI
? ?? ?
using UnityEngine;??
using System.Collections;??
??
public class MovieByGUI : MonoBehaviour {??
? ?? ?
? ? //电影纹理贴图??
? ? public MovieTexture mMovie;??
? ? //电影音频源??
? ? private AudioSource mAudio;??
? ?? ?
? ? //媒体信息定义??
? ? private string mediaName;//媒体名称??
? ? private string mediaLength;//媒体长度??
? ?? ?
? ? void Start ()? ?
? ?
文档评论(0)