Unity 视频组件 VideoPlayer

news2024/7/30 5:34:01

组件添加:

        在自己定义的组件下(例如:Panel) 点击 Inspector 面板中的 AddComponent ,输入“VideoPlayer”。


资源

这里 视频资源有两种形式,第一种是 VideoClip ,需要将视频文件拖拽到该属性字段中,便可播放。第二种是URL,需要输入视频的网络地址,如HTTP或RTSP,便可。


渲染方式(常见方式):

  • Render Mode: Render Texture - 视频渲染到一个Render Texture上,然后可以将该纹理应用到任何支持它的对象上。
  •  Render Mode: Material Override 常见得渲染方式,渲染到设置的Renderer上。

音频输出

  1. Audio Output Mode: Audio Source - 使用默认的Audio Source组件播放音频。
  2. Audio Output Mode: Direct - 直接输出音频,绕过Unity的音频系统。

其他

  1. playOnAwake:

    • 如果设置为true,视频会在场景加载完成后自动开始播放。
  2. isLooping:

    • 如果设置为true,视频在播放结束后会自动重新开始。
  3. clip:

    • 视频片段的引用,可以通过这个属性获取或设置当前播放的视频片段。
  4. isPrepared:

    • 表示视频是否已经准备好播放。在视频准备好之前,某些操作(如播放)可能不可用。
  5. prepareCompleted:

    • 一个事件,当视频准备好播放时触发。可以在这里执行播放前的准备操作。
  6. error:

    • 一个事件,当视频播放过程中出现错误时触发。可以用来处理错误情况。

API :

  1. Prepare():

    • 开始异步准备视频播放。在视频准备好后,可以通过prepareCompleted事件来获取准备状态。
  2. Play():

    • 开始播放视频。如果视频已经准备好,会立即播放;如果视频还在准备中,会在准备完成后自动播放。
  3. Pause():

    • 暂停当前播放的视频。
  4. Stop():

    • 停止视频播放,并重置到视频的开始位置。
  5. SetTime(float time):

    • 设置视频播放的当前时间。time参数是视频总时长的百分比。
    • videoPlayer.time = time; // 设置视频的当前时间
  6. GetTime():

    • 获取视频当前的播放时间。
  7. GetDuration():

    • 获取视频的总时长。
  8. SendVideoRenderEvent(VideoRenderEvent event):

    • 用于发送视频渲染事件。这个API可以用来自定义视频渲染的逻辑,例如在视频渲染的不同阶段执行特定的操作。
  9. SetTargetTimeScale(float timeScale):

    • 设置视频播放的速度。timeScale参数可以是大于1、小于1或等于1的值,分别代表加速、减速和正常速度。
  10. SetTargetAudioSource(AudioSource source):

    • 设置视频音频输出的目标Audio Source。
  11. SetTargetTexture(Texture texture):

    • 设置视频渲染的目标纹理。
  12. SetSource(VideoSource source, VideoClip clipOrUrl):

    • 设置视频源和视频片段或URL。需要先设置source,然后再传入相应的clipOrUrl
  13. SetRenderMode(RenderMode renderMode):

    • 设置视频的渲染模式。
  14. SetAudioOutputMode(AudioOutputMode outputMode, AudioSource source):

    • 设置音频输出的模式和目标Audio Source。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1544906.html

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

相关文章

【C语言】【Leetcode】88. 合并两个有序数组

文章目录 一、题目二、思路再思考 一、题目 链接: link 二、思路 这题属于简单题,比较粗暴的做法就是直接比较两个数组,先把第二个数组加到第一个的后面,如何冒泡排序,这种方法简单粗暴但有效,可是不适用于这题&…

政安晨:【Keras机器学习实践要点】(二)—— 给首次接触Keras 3 的朋友

政安晨的个人主页:政安晨 欢迎 👍点赞✍评论⭐收藏 收录专栏: TensorFlow与Keras实战演绎机器学习 希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正! 介绍 Keras 3是一个深度学习框架&#xff0…

牛客网BC-33 统计成绩(数组排序思想)

题目如下 --------------------------------------------------------------------------------------------------------------------------------- 思路:以数组形式输入,并将数组顺序(或者逆序)排序,最后输出最大值最…

Mysql数据库:日志管理、备份与恢复

目录 前言 一、MySQL日志管理 1、存放日志和数据文件的目录 2、日志的分类 2.1 错误日志 2.2 通用查询日志 2.3 二进制日志 2.4 慢查询日志 2.5 中继日志 3、日志综合配置 4、查询日志是否开启 二、数据备份概述 1、数据备份的重要性 2、备份类型 2.1 从物理与…

2.6 IDE(集成开发环境)是什么

IDE(集成开发环境)是什么 IDE 是 Integrated Development Environment 的缩写,中文称为集成开发环境,用来表示辅助程序员开发的应用软件,是它们的一个总称。 通过前面章节的学习我们知道,运行 C 语言&…

蓝桥杯单片机快速开发笔记——利用定时器计数器设置定时器

一、基本原理 参考本栏http://t.csdnimg.cn/iPHN0 二、具体步骤 三、主要事项 如果使用中断功能记得打开总中断EA 四、示例代码 void Timer0_Isr(void) interrupt 1 { }void Timer0_Init(void) //10毫秒12.000MHz {AUXR & 0x7F; //定时器时钟12T模式TMOD & 0xF0;…

微服务day06 -- Elasticsearch的数据搜索功能。分别使用DSL和RestClient实现搜索

1.DSL查询文档 elasticsearch的查询依然是基于JSON风格的DSL来实现的。 1.1.DSL查询分类 Elasticsearch提供了基于JSON的DSL(Domain Specific Language)来定义查询。常见的查询类型包括: 查询所有:查询出所有数据,一…

iMazing2024功能强大的iPhone和iPad管理工具

iMazing是一款功能强大的iPhone和iPad管理工具,确实可以作为iTunes的替代品进行数据备份。以下是一些关于iMazing的主要特点和功能: 设备备份:iMazing可以备份iOS设备上的所有数据,包括照片、视频、音乐、应用程序等。与iTunes相比…

docker部署gitlab 报错的问题!!!

1、什么是gitlab? Gitlab是一个用于仓库管理系统的开源项目,使用git作为代码管理工具,并在此基础上搭建起来的web服务。Gitlab有乌克兰程序员DmitriyZaporozhets和ValerySizov开发,它由Ruby写成。后来,一些部分用Go语…

leetcode 225.用队列实现栈 JAVA

题目 思路 1.一种是用双端队列(Deque),直接就可以调用很多现成的方法,非常方便。 2.另一种是用普通的队列(Queue),要实现栈的先入后出,可以将最后一个元素的前面所有元素出队,然后…

tcp和udp分别是什么?udp和tcp的区别

TCP和UDP是计算机网络中常见的两种传输层协议,它们在实际应用中具有不同的特点和用途。本文将对TCP和UDP进行介绍,并分析它们之间的区别。 TCP和UDP分别是什么? TCP(Transmission Control Protocol) TCP是一种面向连…

基于TensorFlow的花卉识别(算能杯)%%%

Anaconda Prompt 激活 TensorFlow CPU版本 conda activate tensorflow_cpu //配合PyCharm环境 直接使用TensorFlow1.数据分析 此次设计的主题为花卉识别,数据为TensorFlow的官方数据集flower_photos,包括5种花卉(雏菊、蒲公英、玫瑰、向日葵…

论文汇总:A Closer Look at Few-shot Classification Again

文章汇总 文章是在总体上再一次地观察如何小样本领域存在的问题,并且发现了较为有趣的规律 1.测试误差随训练类别的数量而下降,而不是随每个类别的训练样本数量而下降。 2.训练算法(me:预训练模型)和自适应算法(me:预训练之后的…

适用于 Mac 电脑的 10 个最佳数据恢复工具

对于任何依对于依赖计算机获取重要文件(无论是个人照片还是重要商业文档)的人来说,数据丢失可能是一场噩梦。值得庆幸的是,有多种专门为 Mac 用户提供的数据恢复工具,可以帮助检索丢失或意外删除的文件。在本文中&…

SpringBoot 文件上传(三)

之前讲解了如何接收文件以及如何保存到服务端的本地磁盘中: SpringBoot 文件上传(一)-CSDN博客 SpringBoot 文件上传(二)-CSDN博客 这节讲解如何利用阿里云提供的OSS(Object Storage Service)对象存储服务保存文件。…

SORT/deepSORT_3.8

目标: SORT算法的原理DeepSORT算法的原理 SORT(Simple Online and Realtime Tracking)和DeepSORT是两种广泛应用在计算机视觉领域的多目标跟踪算法。 SORT: SORT算法由Martin Danelljan等人于2016年提出,是一种基于关联的在线实…

Visual Studio项目编译和运行依赖第三方库的项目

1.创建项目,这里创建的项目是依赖于.sln的项目,非CMake项目 2.添加第三方库依赖的头文件和库文件路劲 3.添加第三方依赖库文件 4.项目配置有2个,一个是Debug,一个是Release,如果你只配置了Debug,编译和运行…

TCP重传机制详解——04FACK

文章目录 TCP重传机制详解——04FACK什么是FACKFACK的发展为什么要引入FACK实战抓包讲解开启FACK场景,且达到dup ACK门限值开启FACK场景,未达到dup ACK门限值 为什么要淘汰FACK总结REF TCP重传机制详解——04FACK 什么是FACK FACK的全称是forward ackn…

Spring Aop 源码解析(下)

ProxyFactory选择cglib或jdk动态代理原理 ProxyFactory在生成代理对象之前需要决定到底是使用JDK动态代理还是CGLIB技术: config就是ProxyFactory对象,把自己传进来了,因为ProxyFactory继承了很多类,其中一个父类就是ProxyConfig // config就是ProxyFactory对象// 是不是…

蓝桥杯刷题(十四)

1.小平方 代码 n int(input()) count0 def f(x)->bool: # 判断条件return True if x**2%n<n/2 else False for i in range(1,n): # 遍历[1,n-1]&#xff0c;符合题意计数加一if f(i):count1 print(count)2.3的倍数 代码 a int(input()) b int(input()) c int(input…