Unity_AVPro_实现手指滑动序列帧播放

我使用了AVPro 视频播放插件

AVPro下载地址及资料:https://blog.csdn.net/weixin_42137574/article/details/102610791

还用了EasyTouch插件

EasyTouch 可以在Unity的 Asset Store里 搜索下载 有免费版的

不废话直接上代码:

using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Video;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using RenderHeads.Media.AVProVideo;
using System;
using DG.Tweening;
using HedgehogTeam.EasyTouch;

public class AVProXuLieZhen : MonoBehaviour
{
    //获取视频
    public MediaPlayer video;

    //当前视频秒数
    public float _currentFrame = 0;

    void Update()
    {
        //刚开始给视频暂停
        video.Stop();
        //EasyTouch事件
        Gesture gesture = EasyTouch.current;
        if (gesture != null && EasyTouch.EvtType.On_Swipe == gesture.type)
        {
            //滑动事件
            OnSwiper(gesture);
        }

    }


    //当触摸滑动
    private void OnSwiper(Gesture gesture)
    {
        //向右 右上角 右下角方向滑动时 触发
        if (gesture.swipe == EasyTouch.SwipeDirection.Right || gesture.swipe == EasyTouch.SwipeDirection.DownRight || gesture.swipe == EasyTouch.SwipeDirection.UpRight)
        {
            //当视频秒数 超过8秒时
            if (_currentFrame < 8000)
            {
                _currentFrame+= 100f;
            }
            else
            {
                _currentFrame = 8000;
            }
            video.Control.Seek(_currentFrame); //设置视频当前播放时间
        }
        //向左 左上角 左下角方向滑动时 触发
        if (gesture.swipe == EasyTouch.SwipeDirection.Left || gesture.swipe == EasyTouch.SwipeDirection.DownLeft || gesture.swipe == EasyTouch.SwipeDirection.UpLeft)
        {
            //当视频大于0秒时
            if (_currentFrame > 0)
            {
                _currentFrame-= 100f;
            }
            else
            {
                _currentFrame = 0;
            }
            video.Control.Seek(_currentFrame);//设置视频当前播放时间
        }
    }


}

AVPro的官方案例在 Assets --> AVProVideo --> Demos 文件夹里

我这里点开了 02_Demo_imGui 这个案例 做测试

Unity_AVPro_实现手指滑动序列帧播放_第1张图片

点开后 目录如下

Unity_AVPro_实现手指滑动序列帧播放_第2张图片

指定视频播放路径

Unity_AVPro_实现手指滑动序列帧播放_第3张图片

视频存在 Assets --> StreamingAssets --> AVProVideoSamples 里

Unity_AVPro_实现手指滑动序列帧播放_第4张图片

给IMGUI 加上 上面那个 AVProXuLieZhen脚本

并且把AVPro Video Media Player 拖拽到 IMGUI上的AVProXuLieZhen脚本的 Video 属性上

Unity_AVPro_实现手指滑动序列帧播放_第5张图片

并且把 AVProVideoMediaPlayer 上的AutoPlay的 勾给去吊

Unity_AVPro_实现手指滑动序列帧播放_第6张图片

最后点击运行 起飞?️

你可能感兴趣的:(AVPro,触摸屏)