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

目录

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.mzph.cn/pingmian/69526.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习 - 需要了解的条件概率、高斯分布、似然函数

似然函数是连接数据与参数的桥梁&#xff0c;通过“数据反推参数”的逆向思维&#xff0c;成为统计推断的核心工具。理解它的关键在于区分“参数固定时数据的概率”与“数据固定时参数的合理性”&#xff0c;这种视角转换是掌握现代统计学和机器学习的基础。 一、在学习似然函…

[LUA ERROR] bad light userdata pointer

Cocos2d项目&#xff0c;targetSdkVersion30&#xff0c;在 android 13 设备运行报错: [LUA ERROR] bad light userdata pointer &#xff0c;导致黑屏。 参考 cocos2dx 适配64位 arm64-v8a 30 lua 提示 bad light userdata pointer 黑屏-CSDN博客的方法 下载最新的Cocos2dx …

使用Docker + Ollama在Ubuntu中部署deepseek

1、安装docker 这里建议用docker来部署&#xff0c;方便简单 安装教程需要自己找详细的&#xff0c;会用到跳过 如果你没有安装 Docker&#xff0c;可以按照以下步骤安装&#xff1a; sudo apt update sudo apt install apt-transport-https ca-certificates curl software-p…

导航守卫router.beforeEach

router.beforeEach 是一个全局前置守卫&#xff0c;在每次路由跳转之前都会触发。 //index.jsrouter.beforeEach((to, from, next) > {// 打印即将要进入的目标路由信息console.log(即将要进入的目标路由信息:, to)// 打印当前正要离开的路由信息console.log(当前正要离开的…

systemverilog的program和module的区别

1. 设计目的 module 硬件建模&#xff1a;用于描述数字电路的结构和行为&#xff08;如组合逻辑、时序逻辑、连线等&#xff09;。 层次化设计&#xff1a;支持模块化设计&#xff0c;可嵌套其他模块或接口&#xff08;interface&#xff09;。 仿真周期内持续存在&#xff1…

网络编程基础1

七层协议模型和四层协议模型 七层协议模型&#xff1a;物理层、数据链路层、网络层、传输层、会话层、表示层、应用层 四层协议模型&#xff1a;链路层、网络层、传输层、应用层 TCP通信流程 服务器端 (1)创建socket(socket) (2)绑定自己的IP(bind) (3)监听客户端连接(liste…

【C#】一维、二维、三维数组的使用

在C#中&#xff0c;数组是用于存储固定数量相同类型元素的数据结构。根据维度的不同&#xff0c;可以分为一维数组、二维数组&#xff08;矩阵阵列&#xff09;、三维数组等。每增加一个维度&#xff0c;数据的组织方式就会变得更加复杂。 一维数组 一维数组是最简单的数组形…

网络安全警示录:.wex勒索病毒的独特特性与应对之道

在数字化时代&#xff0c;网络安全威胁层出不穷&#xff0c;其中勒索病毒已成为企业和个人用户面临的一大挑战。近年来&#xff0c;.wex勒索病毒以其独特的加密方式和广泛的传播手段&#xff0c;给全球网络安全带来了严重威胁。本文将深入探讨.wex勒索病毒的独特特性&#xff0…

【Golang学习之旅】Go + Redis 的缓存设计与优化

文章目录 前言1. Go与Redis的简介1.1 什么是Redis&#xff1f;1.2 为什么选择Redis&#xff1f; 2. Redis安装于配置2.1 安装Redis2.2 配置Redis 3. Go中使用Redis的基本操作3.1 连接Redis3.2 设置缓存3.3 删除缓存 4. 缓存设计与优化4.1 缓存的粒度设计4.2 缓存失效策略4.3 缓…

【STM32系列】利用MATLAB配合ARM-DSP库设计IIR数字滤波器(保姆级教程)

ps.源码放在最后面 设计FIR数字滤波器可以看这里&#xff1a;利用MATLAB配合ARM-DSP库设计FIR数字滤波器&#xff08;保姆级教程&#xff09; 设计IIR滤波器 MATLAB配置 设计步骤 首先在命令行窗口输入"filterDesigner"&#xff0c;接着就会跳出以下界面&#xf…

迁移学习 Transfer Learning

迁移学习&#xff08;Transfer Learning&#xff09;是什么&#xff1f; 迁移学习是一种机器学习方法&#xff0c;它的核心思想是利用已有模型的知识来帮助新的任务或数据集进行学习&#xff0c;从而减少训练数据的需求、加快训练速度&#xff0c;并提升模型性能。 &#x1f…

makefile 的strip,filter,ifeq,ifneq基础使用

目录 一、strip1.1 语法1.2 示例1.3 使用场景 二、filter2.1 语法2.2 示例2.3 使用 * 和 ? 通配符2.4 结合使用2.5 使用场景 三、ifeq 和 ifneq3.1 ifeq3.1.1 语法3.1.2 示例 3.2 ifneq3.2.1 语法3.2.2 示例 3.3 典型使用场景3.3.1 根据版本控制编译选项:3.3.2 选择不同的源文…

25/2/8 <机器人基础> 阻抗控制

1. 什么是阻抗控制&#xff1f; 阻抗控制旨在通过调节机器人与环境的相互作用&#xff0c;控制其动态行为。阻抗可以理解为一个力和位移之间的关系&#xff0c;涉及力、速度和位置的协同控制。 2. 阻抗控制的基本概念 力控制&#xff1a;根据感测的外力调节机械手的动作。位置…

RKMPP依赖硬件单元

rkmpp&#xff08;Rockchip Media Process Platform&#xff09;主要依赖瑞芯微&#xff08;Rockchip&#xff09;芯片中的 VPU&#xff08;Video Process Unit&#xff0c;视频处理单元&#xff09; 和 RGA&#xff08;Raster Graphic Acceleration Unit&#xff0c;2D图形加速…

android的ViewBinding的使用

参考&#xff1a; 安卓开发中的ViewBinding使用

C++线程池

使用线程情况比较频繁的地方&#xff0c;由于线程的创建及销毁都会产生对资源的占用及性能的损耗。为了优化性能&#xff0c;提升效率&#xff0c;在这种场景中&#xff0c;就应该使用线程池来处理任务。 线程池创建的关键点&#xff1a; 装载线程的容器&#xff0c;在C中使用…

一周发生AI事件总结(02.08)

本周人工智能领域发生的所有事件&#xff1a; Ilya Sutskever的初创公司正洽谈以约200亿美元估值进行融资&#xff1a;据路透社报道&#xff0c;由前OpenAI首席科学家Ilya Sutskever创立的人工智能初创公司Safe Superintelligence正洽谈以“至少”200亿美元的估值进行融资。该…

FFmpeg(一) 简介

FFmpeg 官网 FFmpeg 下载 ffmpeg-release-essentials.7z ffmpeg-release-full-shared.7z FFmpeg既是一款音视频编解码工具&#xff0c;同时也是一组音社频编解码开发套件 FFmpeg包含 多种音视频编码多种协议的流媒体多种色彩格式转换多种采样率转换多种码率转换多种丰富的…

Android内存性能优化量化指标

在 Android 开发中&#xff0c;对内存性能进行优化至关重要&#xff0c;这有助于提升应用的稳定性和流畅度&#xff0c;避免因内存问题导致的卡顿、崩溃等现象。以下是一些常见的 Android 内存性能优化量化指标&#xff1a; 内存占用指标 堆内存使用量 定义&#xff1a;堆内…

linux 基础知识点之工作队列workqueue

多年前就了解了workqueue着玩意&#xff0c;但理解上就并不是很很深刻&#xff0c;今天重新梳理一下&#xff0c;本文重点的是哪个些现成的demo代码&#xff0c;都是可以直接拿来用的&#xff0c;这就是写这文章的目的和作用&#xff0c;就是为了备份后续工作用到的时候&#x…