unity中播放视频(PC端和移动端)

来源:互联网 发布:高中英语在线听力软件 编辑:程序博客网 时间:2024/05/17 04:23

写在前面:
在unity中播放视频(MP4等)这是在很多游戏中希望实现(尤其是开场动画的播放);这里我分享一下最近两天我对于这个功能的解决办法;(中间有一些重复说明直接借助他人博客了,毕竟站在巨人的肩膀上)
首先说明,pc版的方法一般不适用于移动端;但是移动端的方法正常是使用于pc端的;

移动端播放视频

利用插件AVProVideo,插件链接(若失效联系qq:1694105868);
具体插件的简单使用参考这位大佬博客插件使用链接
这里提供了插件和插件的使用后,大家就可以做移动端的视频播放了;
注:一定要把视频导进AvProVideo自带的文件夹StreamingAssets
特别注意视频名称必须是英文字母,不可以带汉字

PC端播放视频

首先声明,第一种办法也使用于pc端;
下面我们来看第二种办法;
利用ui来作为载体播放;至于使用什么ui呢?ugui和ngui都可以。介于我更熟悉ngui,就介绍ngui的使用;

首先我们要知道unity内部只识别.ogg和.ogv视频文件;
那么在这种方法中的视频要先把格式转成ogv格式;我看了很多博客推荐使用QuickTime Player;说实话这实在是太麻烦了。这里提供给大家一种更简单的方式;利用Unity3D视频转换器TheoraConverter.NET 1.1 Setup,转换器百度云链接(失效联系我);
直接借助其他大佬博客吧转换器使用教程

做完这些了,就可以把刚才的转换后视频导入unity(导入的文件夹无要求);
下面利用NGUI创建一个Texture
视频导入截图
将视频和音频分别拉近对应位置
配置截图
写代码并将脚本挂在刚才的新建的Texture身上

using UnityEngine;using System.Collections;public class playViode : MonoBehaviour {  public MovieTexture movTexture; //播放视频要用到的MovieTexture属于贴图Texture的子类      private AudioSource audioSource;     void Start()   {         //设置电影纹理播放模式为循环       movTexture.loop = true;         //如果有声音才播放声音         audioSource = GetComponent<AudioSource>();        movTexture.Play();      audioSource.Play();   }  }

这里写图片描述
至此pc端就完成了;

注意:如果是移动端的,那么视频的名称必须是英文名(相信我,这个bug我找了五个多小时后发现原来是sdk不支持中文字体);

0 0