视频播放器管理
游戏里面视频播放的应用:常见于对一些角色技能的视频介绍,新手教程等。
课程内容主要讲解怎么在Unity中用视频播放器播放视频以及和脚本进行交互
视频播放器组件:
作用:用来进行播放视频的组件。
常用属性:源Source:用于指定视频源:VideoClip视频剪辑,URL视频地址
渲染模式Render mode 摄像机近平面,摄像机远平面,渲染器纹理,材质覆盖,仅API
音频输出模式Audio Output Mode 无,不播放音频,音频源:通过指定一个音频组件来播放 直接:直接发送到音频输出硬件,跟音频源组件的区别在于音频源可以对音频播放时候的属性做一些调整,且需要场景中有音频侦听器才能听到。
唤醒时播放Play On Awake:设置是否在唤醒的时候就自动播放。
等待第一帧Wait For First Frame:如果勾选的话,unity将在游戏开始前等待源视频第一帧准备好显示。
循环Loop:勾选后视频播放完毕自动重新循环播放。
回放速度Playback Speed:表示视频播放的速度,他的值在0-10之间,默认为1正常播放速度。
视频播放器常用函数:VideoPlayer.Play()播放
VideoPlayer.Pause暂停
VideoPlayer.Stop停止播放
VideoPlayer.isPlaying判断当前视频是否在播放中,是一个布尔值
VideoPlayer.url指定视频地址
VideoPlayer.clip指定视频剪辑
1、直接播放视频
2、修改RenderMode:为渲染模式
3、材质覆盖模式
4、组件API调用播放视频
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Video;
public class Test : MonoBehaviour
{
VideoPlayer video;
// Start is called before the first frame update
void Start()
{
video = gameObject.GetComponent<VideoPlayer>();
video.source = VideoSource.VideoClip;
video.clip = Resources.Load<VideoClip>("GameExplain");//需要把文件放在Resources中。
//video.source = VideoSource.Url;
//video.url = "";
}
// Update is called once per frame
void Update()
{
if (Input.GetKeyDown("a"))
{
//按下a键就开始播放视频
if(video.isPlaying == false)
{
video.Play();
}
else
{
Debug.Log("当前播放中,无需重复播放");
}
}
if (Input.GetKeyDown("b"))
{
//按下b键就暂停播放视频
video.Pause();
}
if (Input.GetKeyDown("c"))
{
//按下c键就停止播放视频
video.Stop();
}
}
}