上一篇文章中对Unity中视频的播放设置是在PC端配置的
经过测试后发现并不能在手机端运行
因为在移动设备上我们需要使用另一种方式来播放视频
注意:
在移动端,unity并不提供MovieTexture,AVPro
QuickTime也用不了,其最基本的显示方案使用通过 PlayFullScreenMovie ()函数进行全屏播放,根据其官网解释,主要有以下方面:
(1)视频流直接从设备存储器中获得,所以文件只能是单独提供,视频文件放置在StreamingAssets 文件夹中
(2) 视频播放过陈中,unity将会停止;播放结束后unity自动恢复;播放过程中屏幕中的颜色会变为播放器的背景颜色,播放之后恢复。
(3)在IOS中,内部实际上是调用MPMoviePlayerController的方法
(4)能够支持的格式: .mov, .mp4, .mpv, and .3gp ,H.264,MPEG-4 Part 2 video
Handheld.PlayFullScreenMovie ("StarWars.mp4", Color.black, FullScreenMovieControlMode.CancelOnInput);
也就是说unity提供的方法更简单了,窗口方式也回避了,还是要去寻求第三方插件。
using UnityEngine; using System.Collections; public class Test : MonoBehaviour { 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); } } }
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-11-04 22:18:25