视频播放以及Android发布
一、视频播放
Unity自带了两种播放API
(1) MovieTexture(视频纹理)
优点:简单,高效的快速完成播放
缺点:此种方法无法应用于移动端。movietexture只能播放OGG和OVG格式的。
(2)Handheld
缺点:
可操作性非常差,几乎达不到我们想要的结果,而且也仅支持全屏的普通视频的播放。
注意点:
将视频文件放置在Assets/StreamingAssets/路径下,经测试.MP4可用。
(3)视频播放插件
第三方插件:进行播放
GitHub有大量的视频播放插件,自己去搜索.
EasyMovieTexture
MobileMovieTexture
MobilePlayer
Mobile movie texture for android :利用开源视频编解码库Theora进行视频解码,然后通过Unity Texture实现显示
Unity标准接口,支持的播放视频格式有.mov、.mpg、.mpeg、.mp4、.avi和.asf。仅支持PC端的本地视频播放。
官方文档给出的方式是将需要视频放在Quickime上播放一遍,其实本质就是将.mp4 , .mov 等视频格式转成.ogv,Unity才能直接识别,可以使用格式转化工具Theora Converter .NET、ffmpeg等直接将视频转成.ogv.
1、MovieTexture(视频纹理)
首先我们先来看下第一中视频播放的API(MovieTexture(视频纹理))我们先把一个视频转换成ogv的格式。转换格式的软件(Theora Converter .NET).
Paste_Image.png
转换后直接将ogv格式导入u3D中就好可以在u3D中播放了.
Paste_Image.png 那么我们如何将视频放入到一个游戏对象上呢?我们先创建一个平面游戏对象在摄像机上创建一个脚本,然后我们写入脚本.
public GameObject obj;
public MovieTexture Moviel;
void Start ()
{
obj.GetComponent<Renderer>().material.mainTexture = Moviel;
//设置视频播放模式为循环
Moviel.loop = true;
}
void OnGUI()
{
if (GUILayout.Button("播放/继续"))
{
if (!Moviel.isPlaying)
{
Moviel.Play();
}
}
if (GUILayout.Button("暂停播放"))
{
Moviel.Pause();
}
if (GUILayout.Button("停止播放"))
{
Moviel.Stop();
}
最后再将Plan(平面)和视频纹理赋值,最后来看看效果,点击播放效果还是不错的.
Paste_Image.png
2、Unity标准的视频播放接口-Handheld 掌型
首先在U3D中创建空文件夹并命名为StreamingAssets,将视频文件放置在Assets/StreamingAssets/路径下
Paste_Image.png
void OnGUI()
{
if (GUI.Button(new Rect(20, 10, 200, 50), "PLAY ControlMode.CancelOnTouch"))
{
Handheld.PlayFullScreenMovie("test.mp4", Color.black, FullScreenMovieControlMode.CancelOnInput);
}
if (GUI.Button(new Rect(20, 90, 200, 25), "PLAY ControlMode.Full"))
{
Handheld.PlayFullScreenMovie("test.mp4", Color.black, FullScreenMovieControlMode.Full);
}
if (GUI.Button(new Rect(20, 170, 200, 25), "PLAY ControlMode.Hidden"))
{
Handheld.PlayFullScreenMovie("test.mp4", Color.black, FullScreenMovieControlMode.Hidden);
}
if (GUI.Button(new Rect(20, 250, 200, 25), "PLAY ControlMode.Minimal"))
{
Handheld.PlayFullScreenMovie("test.mp4", Color.black, FullScreenMovieControlMode.Minimal);
}
}
我们发布到安卓手机上运行下。
2C122763C9AE6BB8D378D5E5B951046D.jpg 5D757EF0B21AFA251943284E22D56F0D.jpg
二、安卓的发布
首先部署安卓环境,安装SDK和JDK。
下载Jdk:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
下载SDK: http://tools.android-studio.org/index.php/sdk/ Paste_Image.png 注意:必须先安装了JDK再来部署SDK
Paste_Image.png 下载后直接安装JDK,安装好后然后我们部署JDK的环境变量,选择我的电脑属性——高级选项——环境变量
Paste_Image.png
Paste_Image.png 部署好JDK的环境变量后开始安装SDK,打开SDK Manager,然后安装相应的SDK。
Paste_Image.png 如果没有出现相应的版本那就需要镜像: http://www.androiddevtools.cn/
Paste_Image.png
Paste_Image.png 下载完相应的SDK后开始部署SDK的环境变量。环境变量部署如下
Paste_Image.png 部署完后我们进入U3D中选择File--Build settings...
Paste_Image.png 下载安卓设置后直接安装。
Paste_Image.png
这时候我们就能够Switch platform(转换平台)了,转换后我们就要将SDK和JDK的文件位置导入U3D中了选择
Paste_Image.png 做好这些后我看开始设置安卓的配置。设置如下:
Paste_Image.png
Paste_Image.png
设置好这些后可以直接点击Build发布我们安卓机的项目了.
Paste_Image.png