Unity控制视频播放、暂停、上下选择

  • 一:效果预览
  • 二:实现
    • 1;在Unity创建空的场景
    • 2;在RawImage下创建3个按钮
    • 3;拖进几个视频素材
  • 三:脚本
    • 1;创建脚本
    • 2;编写代码
    • 3;代码预览
    • 4;脚本挂载
    • 5;变量赋值
  • 四:结束,开始运行

本文提供详细教程

记录遇到的难点并帮助同行的朋友们

坚持以最简单的方法传授和把更好的阅读体验带给你们!



一:效果预览



二:实现

1;在Unity创建空的场景

1,在空的场景里创建RawImage,并在此基础上添加VideoPlayer组件

2;在RawImage下创建3个按钮

1,标清所起的作用,并把位置设置好

3;拖进几个视频素材

这里我找的素材比较多,5个了



三:脚本

1;创建脚本

2;编写代码

using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Video;/// <summary>
/// Jerry代码编写
/// </summary>
public class VideoController : MonoBehaviour
{//设置VideoPlayer、RawImage和当前播放视频索引参数private VideoPlayer videoPlayer;private RawImage rawImage;private int currentClipIndex;//设置相关文本和按钮参数以及视频列表public Text text_PlayOrPause;public Button button_PlayOrPause;public Button button_Pre;public Button button_Next;public VideoClip[] videoClips;void Start(){//获取VideoPlayer和RawImage组件,以及初始化当前视频索引videoPlayer = this.GetComponent<VideoPlayer>();rawImage = this.GetComponent<RawImage>();currentClipIndex = 0;//设置相关按钮监听事件button_PlayOrPause.onClick.AddListener(OnPlayOrPauseVideo);button_Pre.onClick.AddListener(OnPreVideo);button_Next.onClick.AddListener(OnNextVideo);}// Update is called once per framevoid Update(){//没有视频则返回,不播放if (videoPlayer.texture == null){return;}//渲染视频到UGUI上rawImage.texture = videoPlayer.texture;}/// <summary>/// 播放和暂停当前视频/// </summary>private void OnPlayOrPauseVideo(){//判断视频播放情况,播放则暂停,暂停就播放,并更新相关文本if (videoPlayer.isPlaying == true){videoPlayer.Pause();text_PlayOrPause.text = "播放";}else{videoPlayer.Play();text_PlayOrPause.text = "暂停";}}/// <summary>/// 切换上一个视频/// </summary>private void OnPreVideo(){//视频列表减一播放上一个视频,并进行避免越界操作currentClipIndex -= 1;if (currentClipIndex < 0){currentClipIndex = videoClips.Length - 1;}videoPlayer.clip = videoClips[currentClipIndex];text_PlayOrPause.text = "暂停";}/// <summary>/// 切换下一个视频/// </summary>private void OnNextVideo(){//视频列表加一播放下一个视频,并进行避免越界操作currentClipIndex += 1;currentClipIndex = currentClipIndex % videoClips.Length;videoPlayer.clip = videoClips[currentClipIndex];text_PlayOrPause.text = "暂停";}
}

3;代码预览

4;脚本挂载

5;变量赋值



四:结束,开始运行

拥有自己的服务器

让开发工作不再难


点击此处领取----阿里产品优惠券大礼包 (新手必得享超值优惠)


一:ESC服务器优缺点
二:为什么要用阿里云服务器

Unity学习 — VideoPlayer控制视频播放、暂停、上下选择播放!相关推荐

  1. 【Unity】VideoPlayer实现视频播放

    [Unity]VideoPlayer实现视频播放 背景:开发影院场景需要在荧幕上播放视频 环境:Unity2021.3 VideoPlayer的简单使用:http://t.csdn.cn/K8665 ...

  2. 在unity中如何实现视频播放暂停停止重播功能

    在Unity中实现视频播放.暂停.停止和重播功能,可以通过以下步骤实现: 将视频文件导入Unity项目中,并将其设置为资源. 创建一个新的Unity游戏对象,并将Video Player组件添加到该对 ...

  3. html ppt播放音乐,PPT怎么控制音乐暂停后继续播放?

    回答: 方法/步骤 打开PPT并制作好PPT选择幻灯片放映从头开始播放. 请点击输入图片描述 当我们播放某一张PPT时,想要停留他,自己讲一部分关于PPT的内容,我们可以按一下键盘上的S键,画面就暂停 ...

  4. unity学习:控制人物的移动

    目录 一.导入 代码 代码使用分析 二.使用Input.GetKey来获取键盘中按下的键 代码 代码使用分析 三.获取水平输入与竖直输入 代码 代码使用分析 四.帧为参照改为秒为参照 代码 代码使用分 ...

  5. Unity学习笔记1-键盘控制开关灯(Point Light)

    Unity学习笔记1-键盘控制开关灯(Point Light) 实现开关灯用键盘上的两个按键控制,效果如下所示 1-创建材质球(Material):HighLight和OffLight **: )Li ...

  6. Unity学习笔记--赛车的控制代码

    Unity学习笔记–赛车的控制代码 using System.Collections; using System.Collections.Generic; using UnityEngine;publ ...

  7. 【Unity 3D学习】控制Animator动画从随机帧开始

    一.前提:游戏主场景有很多建筑,然后建筑上会有动画,如果存在多个同类型的建筑,就会出现多个相同动画频率一致的情况,这样子产品说体验性较差,所以考虑怎么控制动画从不同帧开始播放. 二.处理方案. 1.原 ...

  8. 千锋Unity学习笔记

    学习笔记:[千锋合集]史上最全Unity3D全套入门教程|匠心之作 文章目录 初级 1.0数学 1.0点乘叉乘 1.点乘: 2.叉乘: 2.0Mathf 3.0Vector 4.0旋转 2.0组件 3 ...

  9. Unity流水账2:视频播放之Video Player

    VideoPlayer组件   使用VideoPlayer组件可以将视频文件附加到GameObjecs,并在运行时,在GameObject的Texture上播放它们.   默认情况下,Video Pl ...

最新文章

  1. Oracle 用户表空间的创建和授权
  2. cmd for 循环拷贝文件
  3. 使用Kotlin对ViewGroup的视图进行函数使操作
  4. Windbg调试命令详解(3)
  5. Oracle触发器详细介绍
  6. 静态ip和动态ip的区别_动态IP和静态IP有哪些区别?
  7. Android FancyCoverFlow的使用实现图片画廊形式的呈现
  8. 实验5.2 动态内存分配生成动态数组完成矩阵转置
  9. 计算机考试老师批卷么,【揭秘】高考答卷扫描到电脑上是啥模样?阅卷老师喜欢啥样的答卷?...
  10. Atitit.Gui按钮与面板---项目规模的评估----文件数统计,结构,代码行数,每类型文件行数.
  11. 【微信小程序】自己的小程序跳转到京东小程序商品详情页
  12. 4K显示器在M1上打开HiDPI
  13. Hiho1384 倍增+归并排序
  14. 写给小白的Python之006:数据类型之列表
  15. 从敏思博客的倒闭事件看历史重现...
  16. 笔记本UIOP几个键总是输入数字的问题
  17. 苹果蓝牙耳机平替哪款最好?四款苹果蓝牙耳机平价替代
  18. 未来汽车是什么样?取消后视镜的车型将于2019年面世 | 行业
  19. es 一个字段设置多个分词器
  20. 485通信c语言编程linux,Rs485通信单片机C程序

热门文章

  1. 福师计算机网考,福师网院20春计算机应用基础考核答案
  2. LatexVScode 报错I found no bibdata command//command//citation—while reading file*.aux
  3. 【JZOJ 4821】 打膈膜
  4. 【效能平台】接口模块——获取列表数据、查看详情数据、增加以及更新项目接口、删除接口相关功能开发(六)
  5. 煮酒论开源语音工具包
  6. 数据结构——树的思维导图,帮助自己记忆。
  7. 2022年海南最新建筑八大员(机械员)模拟考试题库及答案
  8. SAP HR schema 详细解
  9. 智能表带如何为Apple Watch添加功能
  10. 物联网专题22:STA模式