Sofdec2-Unity教程/简单视频播放
Sofdec2集成在Unity中的操作步骤和ADX2相同,Sofdec2和ADX2会同时集成进去,详情见:Unity集成
集成完成后,我们能够将使用Sofdec2压缩的视频文件导入到Unity中以备使用。
视频导入
集成完成后我们只需要将文件拖拽到StreamingAssets文件夹下即可:
注意放置的文件所在文件夹位置!
场景视频播放
如果我们想在场景中播放一个视频,那么需要在场景中创建一个Game Object,而后创建CriManaMovieController Component,并将需要播放的视频填入相应位置:
创建方式如上图,创建完成后运行场景就能够正常播放了。
UI视频播放
UI视频播放和场景视频播放类似,只是创建的并非Cube而是Image用于UI上进行播放,同时创建CriManaMovieControllerForUI Component,并将需要播放的视频填入相应的位置即可:
运行场景,就会看到视频在界面上进行播放了。
上面的内容中需要我们勾选CriManaMovieControllerForUI Component的play on start,使得当场景运行时即刻播放视频内容,当我们需要控制时可以使用以下方式:
我们在界面上创建一个按钮,并使用按钮来控制视频的播放,使得每次按下按钮时能够跟随当前视频播放状态来决定如何播放视频,代码如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Movie : MonoBehaviour
{
private CriManaMovieControllerForUI movieplay;
bool canbepause = true;
// Start is called before the first frame update
void Start()
{
movieplay = (CriManaMovieControllerForUI)GetComponent("CriManaMovieControllerForUI");
}
public void movie()
{
CriMana.Player.Status status = movieplay.player.status;
if ((status == CriMana.Player.Status.Stop) || (status == CriMana.Player.Status.PlayEnd))
{
movieplay.player.Start();
}
else
{
if (canbepause == false)
{
movieplay.player.Pause(false);
canbepause = true;
}
else
{
movieplay.player.Pause(true);
canbepause = false;
}
}
}
}
当我们在界面上不停的点击按钮时,我们就会看到视频在不断的暂停和播放: