unity学习31:Video Player 视频播放相关基础

devtools/2025/2/8 18:04:17/

目录

1 新增Video Player的 component

2 导入视频到Asset里

3 拖入到 video player的 video clip里去即可

4 渲染模式

4.1 多种渲染模式

4.2  如果选择 Render Texture模式

4.3 然后把Render Texture 拖到游戏里的 gameObject上面

5 在UI上显示

5.1 创建UI

5.2 在UI上播放

6 使用脚本播放Video

6.1 创建脚本,挂到对应的 gameObject上

6.2 代码测试

6.2.1 类型和音频有差别

6.2.2 VideoPlayer  并不需要指定clip为V1? 待查

6.2.3 VideoPlayer的 Pause() 以后继续 Play()即可,没有UnPause() 方法

6.2.4 详细代码


1 新增Video Player的 component

  • 播放视频需要Video Player
  • gameObject上增加一个 Video Player的 component

2 导入视频到Asset里

  • 下载video后拖过去进行
  • MP4是可以的

3 拖入到 video player的 video clip里去即可

4 渲染模式

4.1 多种渲染模式

  •  Render Texture
  •  camera for plane
  • camera  near plane
  • material Override
  • API only

4.2  如果选择 Render Texture模式

  • Render Mode选择 Render Texture
  • 新建1个Render Texture
  • 拖入到 target Texture

4.3 然后把Render Texture 拖到游戏里的 gameObject上面

  • 然后把Render Texture 拖到游戏里的 gameObject上面

5 在UI上显示

5.1 创建UI

  • 创建UI
  • UI / Raw Image

5.2 在UI上播放

  • 也是在纹理里拖入 rander Texture
  • 选择2D模式,就可以播放了

6 使用脚本播放Video

6.1 创建脚本,挂到对应的 gameObject上

创建脚本,挂到对应的 gameObject上,比如之前的这个竖着的板子上

6.2 代码测试

6.2.1 类型和音频有差别

  •     private VideoPlayer player1;
  •     private AudioSource1player1;

6.2.2 VideoPlayer  并不需要指定clip为V1? 待查

        player1=GetComponent<VideoPlayer>();

        // 不需要指定clip为V1?

        //player1.clip=v1;

        //player1.loop=true;

        //player1.volume=0.5f;  

        player1.Play();    

6.2.3 VideoPlayer的 Pause() 以后继续 Play()即可,没有UnPause() 方法

  •  //继续播放
  • player1.Play();

6.2.4 详细代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Video;public class TestVideo : MonoBehaviour
{//声明VideoClippublic VideoClip v1;  //绑定外部clip//定义播放器组件private VideoPlayer player1;// Start is called before the first frame updatevoid Start(){player1=GetComponent<VideoPlayer>();// 不需要指定clip为V1?//player1.clip=v1;//player1.loop=true;//player1.volume=0.5f;   player1.Play();    }// Update is called once per framevoid Update(){if(Input.GetKeyDown(KeyCode.Space)){if(player1.isPlaying==true){//暂停播放player1.Pause();//player1.Stop();}else{//继续播放player1.Play();//player1.Play();}}}
}


http://www.ppmy.cn/devtools/157144.html

相关文章

机器学习day8

自定义数据集 &#xff0c;使用朴素贝叶斯对其进行分类 代码 import numpy as np import matplotlib.pyplot as pltclass1_points np.array([[2.1, 2.2], [2.4, 2.5], [2.2, 2.0], [2.0, 2.1], [2.3, 2.3], [2.6, 2.4], [2.5, 2.1]]) class2_points np.array([[4.0, 3.5], …

python学opencv|读取图像(五十四)使用cv2.blur()函数实现图像像素均值处理

【1】引言 前序学习进程中&#xff0c;对图像的操作均基于各个像素点上的BGR值不同而展开。 对于彩色图像&#xff0c;每个像素点上的BGR值为三个整数&#xff0c;因为是三通道图像&#xff1b;对于灰度图像&#xff0c;各个像素上的BGR值是一个整数&#xff0c;因为这是单通…

Spring boot整合quartz方法

目录 1.定时任务 1.quartz说明 2.Quartz提供了不同的数据存储策略以管理作业调度信息&#xff1a; 1.Quartz引入依赖 2.开发定时任务 &#xff08;1&#xff09;更新定时任务 &#xff08;2&#xff09;停止定时任务 &#xff08;3&#xff09;唤醒定时任务 &#xff…

Windows图形界面(GUI)-QT-C/C++ - QT Tab Widget

公开视频 -> 链接点击跳转公开课程博客首页 -> ​​​链接点击跳转博客主页 目录 一、概述 1.1 什么是 QTabWidget&#xff1f; 1.2 使用场景 二、常见样式 2.1 选项卡式界面 2.2 动态添加和删除选项卡 2.3 自定义选项卡标题和图标 三、属性设置 3.1 添加页面&…

CS 与 BS 架构的差异

在数字化的今天&#xff0c;选择软件架构模式对系统的性能、维护、安全和成本都有很大影响。BS架构和CS架构是最常见的两种模式&#xff0c;了解它们的区别和特点对开发人员和企业决策者都很重要。 CS架构最早出现&#xff0c;当时用户直接从主机获取数据。随着客户端和服务端…

LabVIEW与PLC交互

一、写法 写命令立即读出 写命令后立即读出&#xff0c;在同一时间不能有多个地方写入&#xff0c;因此需要在整个写入后读出过程加锁 项目中会存在多个循环并行执行该VI&#xff0c;轮询PLC指令 在锁内耗时&#xff0c;就是TCP读写的实际耗时为5-8ms&#xff0c;在主VI六个…

Java/Kotlin双语革命性ORM框架Jimmer(一)——介绍与简单使用

概览 Jimmer是一个Java/Kotlin双语框架 包含一个革命性的ORM 以此ORM为基础打造了一套综合性方案解决方案&#xff0c;包括 DTO语言 更全面更强大的缓存机制&#xff0c;以及高度自动化的缓存一致性 更强大客户端文档和代码生成能力&#xff0c;包括Jimmer独创的远程异常 …

尚硅谷spring框架视频教程——学习笔记二(数据库、事务、webflux)

目录 一、数据库操作二、事务操作1. 事务的四个特性2. 事务的底层逻辑3. 注意事项4. 启动事务操作5. 事务传播行为&#xff08;propagation&#xff09;6. 事务隔离级别7. 其他配置 三、Spring5新功能——webflux 一、数据库操作 spring框架使用JDBCTemplate对JDBC&#xff08…