视频控制

视频播放 (AVProPlayer)

在合适的地方添加AVProPlayer组件,并添加Display UGUI组件,并为MediaPlayer属性赋值

脚本控制 (AVProPlayer)

在合适的位置调用Managements.UI.Show显示该UI,UI在显示时将会播放Idle.mp4视频

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UNIHper;
using DNHper;

public class IdleUI : UIBase
{
    // Start is called before the first frame update
    private void Start() { }

    // Update is called once per frame
    private void Update() { }

    // Called when this ui is loaded
    protected override void OnLoaded() { }

    // Called when this ui is shown
    protected override void OnShown()
    {
        // 循环播放
        this.Get<AVProPlayer>().Play("Videos/Idle.mp4", null, true);

        // 不循环播放
        /* this.Get<AVProPlayer>()
            .Play(
                "Videos/Idle.mp4",
                _ =>
                {
                    Debug.Log("视频播放结束");
                },
                false
            );*/
    }

    // Called when this ui is hidden
    protected override void OnHidden() { }
}

多视频管理 (MultipleAVProPlayer)

单个视频组件在切换视频时会存在加载时间,故存在一定的黑帧。当需要优化多个视频切换的时间时,Multiple AVPro Player会更合适。

使用方法

在适当位置添加Multiple AVPro Player组件

脚本控制 (MultipleAVProPlayer)

using System.Collections;
using System.Collections.Generic;
using UNIHper;
using DNHper;
using Unirx;

public class IdleUI : UIBase
{
    // Start is called before the first frame update
    private async void Start()
    {
        // 等待视频准备完成
        await this.Get<MultipleAVProPlayer>()
            .PrepareVideos(new List<string> { "Videos/视频1.mp4", "Videos/视频2.mp4" });

        var _player = this.Get<MultipleAVProPlayer>();
        // 播放视频
        _player.Play("Videos/视频1.mp4", null, true);

        // 切换到下一个视频
        _player.SwitchNext();

        // 切换到上一个视频
        _player.SwitchPrev();
        
        // 切换到指定视频
        _player.Switch("Idle.mp4");
    }
    
}

视频切换过渡

视频过渡效果支持Alpha和Color两种过渡效果,可在属性面板进行切换。

Note: RenderTarget为DisplayUGUI模式时,仅支持Alpha过渡

Last updated