当前位置: 首页 > news >正文

Unity学习笔记---音视频播放

音频

Audiolistener组件

AudioListener组件是音频监听器,将组件挂在角色或camera上面,每个场景中最多只有一个AudioListener组件。

AudioSource组件

AudioSource组件是音源,用来播放音频AudioClip.将他挂在产生声音的物体上,可以产生声音,距离越远声音越小。

属性

AudioClip:音频片段

Output:输出

Mute:静音

Bypass Effects:环绕声

Bypass Listener Effects:环绕声监听器

Bypass Reverb Zones:环绕声混响

Play On Awake:游戏开始时播放声音

Loop:是否循环播放

Priority:音源优先级

Volume:音量

Pitch:音准

Stereo Pan:音效,只对单声道和立体声有效

Spatial Blend:2D、3D 声音调节

Reverb Zone Mix:3D混响区域

AudioClip组件

AudioClip组件是音频片段,需要挂载在播放器组件上播放。

播放控制

// 加载音频片段
AudioClip audioClip = (AudioClip) Resources.Load("Audio/Footstep01");
// 获取AudioSource组件
AudioSource audioSource = GetComponent<AudioSource>();
// 绑定音频片段
audioSource.clip = audioClip;
// 播放音频(选其中一种方式)
audioSource.Play();
// 此方式播放音频, Unity3D会在transform.position处创建一个空游戏对象, 播放完音频后自动销毁该游戏对象
AudioSource.PlayClipAtPoint(audioClip, transform.position);

视频

VideoPlayer组件

VideoPlayer组件是视频播放器,将这个组件添加到作为屏幕介质的游戏物体上,比如一个平面或者需要的立体对象。可以在介质上播放视频。

属性

Source:视频源类型,有 2 种类型:Video Clip、URL;

Video Clip:视频片段;

Update Mode:更新模式,用来校准时间。

Play On Awake:启动时播放视频;

Wait For First Frame:是否在第一帧加载完成后才播放,只有在 Play On Awake 被勾选时才会生效;

Loop:是否开启循环播放;

Skip On Drop:允许跳帧来校准时间

Playback Speed:播放速度;

Render Mode:渲染模式,主要有:

        Camera Far Plane(在相机远平面上播放,需要绑定到相机,此时其他物体都在视频前面)

        Came Near Plane(在相机近平面上播放,需要绑定到相机,此时其他物体都在视频后面)

       Render Texture(视频的每一帧输出到 Render Texture 文件中,可以使用 RayImage 显示                 Render Texture,这样视频就可以在 RayImage 中播放)

        Material Override(需要绑定到一个 Renderer 对象,如 Cube 的 MeshRenderer,这样视频就可以在立方体表面播放)

Renderer:渲染器,当 Render Mode 选择为 Material Override 时才会有此选项,如:将 Hierarchy 窗口的 Cube 对象拖拽到 Renderer 中,视频就会在 Cube 表面播放;

AutoSelectProperty:自动选择纹理主要属性。

Audio Output Mode:音频输出模式,主要有:None(不输出音频)、AudioSource(用 AudioSource 播放)、Direct(直接发送到音频输出硬件)。

如何播放

在 Hierarchy 窗口创建一个 RayImage 对象,并为其添加 VideoPlayer 组件,调整 Render Mode 为 Render Texture;在 Assets 窗口创建 Render Texture 文件,并将该文件拖拽到 VideoPlayer 组件中的 Target Texture 中以及 RayImage 组件的 Texture 中

给RayImage添加脚本如下:

using UnityEngine;
using UnityEngine.Video;public class VideoController : MonoBehaviour {private VideoPlayer videoPlayer;private void Awake() {videoPlayer = GetComponent<VideoPlayer>();videoPlayer.isLooping = true;videoPlayer.playOnAwake = false;videoPlayer.clip = (VideoClip) Resources.Load("Video/Video");videoPlayer.Prepare(); // 播放引擎准备(提高开始播放时的速度)}private void Start() {videoPlayer.Play(); // 播放}private void Update() {if (Input.GetKeyDown(KeyCode.Space)) {if (videoPlayer.isPlaying) {videoPlayer.Pause(); // 暂停} else {videoPlayer.Play(); // 播放}}}
}

相关文章:

Unity学习笔记---音视频播放

音频 Audiolistener组件 AudioListener组件是音频监听器&#xff0c;将组件挂在角色或camera上面&#xff0c;每个场景中最多只有一个AudioListener组件。 AudioSource组件 AudioSource组件是音源&#xff0c;用来播放音频AudioClip.将他挂在产生声音的物体上&#xff0c;可…...

项目集成过程中的makefile记录

项目集成过程中的makefile记录 文章目录 项目集成过程中的makefile记录1.基础概念注释打印赋值方式常用变量$ 伪目标函数wildcard 多目录、文件操作 2.思路梳理**需求分析**目录结构 3.可行示例 持续更新中1.基础概念 注释 # 示例&#xff1a; # 项目名称打印 echo "H…...

Vue3 -Computed计算属性

前言&#xff1a; Computed属性属于Vue3中的响应式核心(与之共同说明的还有ref&#xff0c;reactive&#xff0c;watch...) 接受一个 getter 函数&#xff0c;返回一个只读的响应式 ref 对象。该 ref 通过 .value 暴露 getter 函数的返回值。它也可以接受一个带有 get 和 set…...

MySQL—函数—日期函数(基础)

一、引言 接下来讨论和学习关于函数的第三个方面——日期函数。 常见的MySQL当中的日期函数。 注意&#xff1a; 1、CURDATE()&#xff1a;cur&#xff1a;current 当前的&#xff0c;返回的是当前日期。 2、CURTIME()&#xff1a;当前时间。 3、NOW&#xff1a;当前的日期和…...

Java+SVNCloud+Mysql课程设计

文章目录 1、主要内容2、所需准备3、与sql访问的中间类&#xff1a;SqlMessage4、窗口界面5、main方法 1、主要内容 课程设计&#xff0c;主要通过Javas wing创建窗口&#xff0c;jdbc连接云端mysql数据库进行基本操作&#xff0c;支持随机生成数据并用动态展示数据结果。 先…...

MySQL之创建高性能的索引(四)

创建高性能的索引 空间数据索引(R-Tree) MyISAM表支持空间索引&#xff0c;可以用作地理数据存储。和B-Tree索引不同&#xff0c;这类索引无须前缀查询。空间索引会从所有维度来索引数据。查询时&#xff0c;可以有效地使用任意维度来组合查询。必须使用MySQL的GIS相关函数如…...

Python 限制输入数的范围

Python 限制输入数的范围 在 Python 编程中&#xff0c;我们经常需要限制用户输入的数据范围&#xff0c;以避免一些可能出现的问题。例如&#xff0c;在一个游戏程序中&#xff0c;我们可能想要确保玩家的分数在某个范围内&#xff0c;而不是太高或太低。在这个博文中&#x…...

STM32两轮平衡小车原理详解

STM32两轮平衡小车是一种基于STM32微控制器的智能机器人&#xff0c;它能够通过传感器和算法实现自我平衡。以下是对STM32两轮平衡小车原理的详解&#xff0c;以及一些基础的代码示例。 原理详解 1. 系统组成 主控制器&#xff1a;STM32系列微控制器&#xff0c;作为小车的大…...

(笔记)如何评价一个数仓的好坏

如何评价一个数仓的好坏 1数据质量产生原因评估方法流程 2模型建设产生问题原因评估方法流程 3数据安全产生问题原因评估方法流程 4成本/性能产生问题原因评估方法流程 5 用户用数体验产生问题原因评估方法流程 6数据资产覆盖产生问题原因评估方法流程 数仓评价好坏是对数仓全流…...

友善RK3399v2平台利用rkmpp实现硬件编解码加速

测试VPU 编译mpp sudo apt update sudo apt install gcc g cmake make cd ~ git clone https://github.com/rockchip-linux/mpp.git cd mpp/build/linux/aarch64/ sed -i s/aarch64-linux-gnu-gcc/gcc/g ./arm.linux.cross.cmake sed -i s/aarch64-linux-gnu-g/g/g ./arm.lin…...

Mysql 8.0 主从复制及读写分离搭建记录

前言 搭建参考&#xff1a;搭建Mysql主从复制 为什么要做主从复制&#xff1f; 做数据的热备&#xff0c;作为后备数据库&#xff0c;主数据库服务器故障后&#xff0c;可切换到从数据库继续工作&#xff0c;避免数据丢失。架构的扩展。业务量越来越大&#xff0c;I/O访问频…...

PyTorch、显卡、CUDA 和 cuDNN 之间的关系

概述 PyTorch、显卡、CUDA 和 cuDNN 之间的关系及其工作原理可以这样理解&#xff1a; 显卡 (GPU) 显卡&#xff0c;特别是 NVIDIA 的 GPU&#xff0c;具有大量的并行处理单元&#xff0c;这些单元可以同时执行大量相似的操作&#xff0c;非常适合进行大规模矩阵运算&#x…...

Lambda 表达式练习

目录 sorted() 四种排序 List 转 Map map 映射 对象中 String 类型属性为空的字段赋值为 null BiConsumer,> T reduce(T identity, BinaryOperator accumulator) allMatch(Predicate p) groupingBy(Function f) flatMap(Function f) Optional.ofNullable(T t) 和 …...

JavaScript第七讲:数组,及练习题

目录 今天话不多说直接进入正题&#xff01; 1. 创建数组对象 2. 数组长度 3. 遍历一个数组 4. 连接数组 5. 通过指定分隔符&#xff0c;返回一个数组的字符串表达 6. 分别在最后的位置插入数据和获取数据(获取后删除) 7. 分别在最开始的位置插入数据和获取数据(获取后删…...

从docker镜像反推Dockerfile

在项目运维的过程中&#xff0c;偶尔会遇到某个docker image打包时候的Dockerfile版本管理不善无法与image对应的问题&#xff0c;抑或需要分析某个三方docker image的构建过程&#xff0c;这时&#xff0c;就希望能够通过image反推构建时的instruction. 想实现这个过程可以使…...

车载软件架构 - AUTOSAR 的信息安全框架

车载软件架构 - AUTOSAR 的信息安全架构 我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 屏蔽力是信息过载时代一个人的特殊竞争力&#xff0c;任何消耗…...

欧洲版“OpenAI”——Mistral 举办的 AI 大模型马拉松

近期&#xff0c;法国的 Mistral AI 举办了一场别开生面的 AI 大模型马拉松。要知道&#xff0c;Mistral 可是法国对 OpenAI 的有力回应&#xff0c;而且其技术还是完全开源的呢&#xff01;这场在巴黎举行的黑客马拉松&#xff0c;规模空前盛大&#xff0c;竟然有超过 1000 名…...

Java | Leetcode Java题解之第128题最长连续序列

题目&#xff1a; 题解&#xff1a; class Solution {public int longestConsecutive(int[] nums) {Set<Integer> num_set new HashSet<Integer>();for (int num : nums) {num_set.add(num);}int longestStreak 0;for (int num : num_set) {if (!num_set.contai…...

C++的List

List的使用 构造 与vector的区别 与vector的区别在于不支持 [ ] 由于链表的物理结构不连续,所以只能用迭代器访问 vector可以排序,list不能排序(因为快排的底层需要随机迭代器,而链表是双向迭代器) (算法库里的排序不支持)(需要单独的排序) list存在vector不支持的功能 链…...

网易有道QAnything使用CPU模式和openAI接口安装部署

网易有道QAnything可以使用本地部署大模型&#xff08;官网例子为qwen&#xff09;也可以使用大模型接口(OPENAI或者其他大模型AI接口 )的方式&#xff0c;使用在线大模型API接口好处就是不需要太高的硬件配置。 本机环境windows11 首先安装WSL环境, 安装方法参考https://zhuan…...

网络编程(Modbus进阶)

思维导图 Modbus RTU&#xff08;先学一点理论&#xff09; 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议&#xff0c;由 Modicon 公司&#xff08;现施耐德电气&#xff09;于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具

作者&#xff1a;来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗&#xff1f;了解下一期 Elasticsearch Engineer 培训的时间吧&#xff01; Elasticsearch 拥有众多新功能&#xff0c;助你为自己…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增&#xff1a;通道注意力模块&#xff08;SE模块&#xff09; class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

【JVM】- 内存结构

引言 JVM&#xff1a;Java Virtual Machine 定义&#xff1a;Java虚拟机&#xff0c;Java二进制字节码的运行环境好处&#xff1a; 一次编写&#xff0c;到处运行自动内存管理&#xff0c;垃圾回收的功能数组下标越界检查&#xff08;会抛异常&#xff0c;不会覆盖到其他代码…...

JVM垃圾回收机制全解析

Java虚拟机&#xff08;JVM&#xff09;中的垃圾收集器&#xff08;Garbage Collector&#xff0c;简称GC&#xff09;是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象&#xff0c;从而释放内存空间&#xff0c;避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

关于 WASM:1. WASM 基础原理

一、WASM 简介 1.1 WebAssembly 是什么&#xff1f; WebAssembly&#xff08;WASM&#xff09; 是一种能在现代浏览器中高效运行的二进制指令格式&#xff0c;它不是传统的编程语言&#xff0c;而是一种 低级字节码格式&#xff0c;可由高级语言&#xff08;如 C、C、Rust&am…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中&#xff0c;车辆不再仅仅是传统的交通工具&#xff0c;而是逐步演变为高度智能的移动终端。这一转变的核心支撑&#xff0c;来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒&#xff08;T-Box&#xff09;方案&#xff1a;NXP S32K146 与…...