unity_视频播放与控制_关于VideoPlayer 组件的使用

关于unity VideoPlay 组件
新学unity入门一个月,苦于国内unity的学习环境实在不怎么样,学起来贼辛苦,有很多东西还是要到外边去搜集,所以把一些常用的部分的知识整理起来,一来形成自己的知识库,另一方面或许可以帮到同样苦逼的新手。

1.引用video play组件时…

using UnityEngine.Video;

否则组件名称无法获取,新手常常犯这种低级错误

2.判断视频播放是否结束:

public double time;
public double currentTime;
private bool videoplay = true;

private void Awake()
    {
    //获取影片的时长
        time = Video.GetComponent<VideoPlayer>().clip.length;
    }

void Update()
{
currentTime += Time.deltaTime;
if (currentTime>=time)
{
videoplay = false;
}
}

这个代码块来自unity论坛,自己有一点改动
适用场合:影片播放完成后触发事件,影片播放完成后关闭组件,影片播放完后退出等等需要判断影片是否播放完的情况。

3.Video Play 组件的使用(在Canvas组件中播放)

需要以下代码为VideoPlay设定播放目标载体

public class streamVideo : MonoBehaviour
{
//设定三个物件————rawimage\VideoPlayer\AudioSource,其中VideoPlayer挂载控制播放的VideoPlayer,rawimage挂载显示视频的对象(可以更换为其他物件)
    public RawImage rawimage;
    public VideoPlayer videoplayer;
    public AudioSource audiosource;

    void Start()
    {
//开始播放视频
        StartCoroutine (PlayVideo());
    }
    IEnumerator PlayVideo()
    {
//videoplay自带代码包,加载目标视频
        videoplayer.Prepare();
        WaitForSeconds waitForSeconds = new WaitForSeconds(1);
        while(!videoplayer.isPrepared)
        {
            yield return waitForSeconds;
            break;
        }
//将videoplayer的视频赋予为目标对象的材质(平面是平面播放,球体是球形播放....)
        rawimage.texture = videoplayer.texture;
//开始播放视频和音效
        videoplayer.Play();
        audiosource.Play();
    }
}

4.组件变量详解

在这里插入图片描述
Video Clip: 指定影片来源
Play On Awake:是否在该物件被加载的时候播放
Wait For First Frame:一般保持默认打勾
PlayBack Speed:设定视频播放速度
Loop:是否循环播放

更多可以查看官方手册:
https://docs.unity3d.com/Manual/class-VideoPlayer.html

5.是否可以播放透明视频?

可以,需要导出mov格式,保留透明通道

6.暂停和播放代码

videoplayer.Pause();
videoplayer.Play();

videoplayer需要在前面getComponent,这里不赘述

  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值