当前位置: 首页 > 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…...

《怕你忍不住》的传播入口:情绪临界点如何被记住

从内容传播角度看&#xff0c;《怕你忍不住》的入口不是猎奇&#xff0c;而是一个非常具体的情绪临界点&#xff1a;话快说出口、眼泪快掉下来、冲动快把人推着走。标题先完成识别&#xff0c;读者会知道这不是泛泛的伤感歌。这首歌适合连接很多高频场景。深夜准备发出一条消息…...

Vue+ElementUI构建蘑菇博客管理后台:前端架构与最佳实践

VueElementUI构建蘑菇博客管理后台&#xff1a;前端架构与最佳实践 【免费下载链接】mogu_blog_v2 蘑菇博客(MoguBlog)&#xff0c;一个基于微服务架构的前后端分离博客系统。Web端使用Vue Element , 移动端使用uniapp和ColorUI。后端使用Spring cloud Spring boot mybatis-…...

3步找回密码:如何用ArchivePasswordTestTool解锁加密压缩包

3步找回密码&#xff1a;如何用ArchivePasswordTestTool解锁加密压缩包 【免费下载链接】ArchivePasswordTestTool 利用7zip测试压缩包的功能 对加密压缩包进行自动化测试密码 项目地址: https://gitcode.com/gh_mirrors/ar/ArchivePasswordTestTool 你是否曾经面对一个…...

告别手动排班!明日方舟智能基建助手Arknights-Mower五分钟上手指南

告别手动排班&#xff01;明日方舟智能基建助手Arknights-Mower五分钟上手指南 【免费下载链接】arknights-mower 《明日方舟》长草助手 项目地址: https://gitcode.com/gh_mirrors/ar/arknights-mower 还在为《明日方舟》繁琐的基建管理而头疼吗&#xff1f;每天重复的…...

城市综合管廊远程监控与智慧运维系统方案

某新区城市建设综合管廊&#xff0c;涵盖电力、燃气、供排水、通信等多种生命线&#xff0c;部署有风机、排水泵、电动阀门、气体传感器、温湿度传感器、液位传感器等设备&#xff0c;核心控制器为西门子PLC&#xff08;S7协议&#xff09;&#xff0c;负责采集管廊内气体浓度、…...

Wannakey终极指南:免费恢复WannaCry加密文件的专业内存密钥恢复工具

Wannakey终极指南&#xff1a;免费恢复WannaCry加密文件的专业内存密钥恢复工具 【免费下载链接】wannakey Wannacry in-memory key recovery 项目地址: https://gitcode.com/gh_mirrors/wa/wannakey Wannakey是一款专为恢复WannaCry勒索软件加密文件而设计的免费开源工…...

如何突破Switch游戏限制:Ryujinx开源模拟器的5大实战解决方案

如何突破Switch游戏限制&#xff1a;Ryujinx开源模拟器的5大实战解决方案 【免费下载链接】Ryujinx 用 C# 编写的实验性 Nintendo Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/ry/Ryujinx 你是否渴望在PC上畅玩Switch独占游戏&#xff0c;却受限于硬件…...

AntiDupl.NET:智能图片去重工具的完整使用指南与实战方案

AntiDupl.NET&#xff1a;智能图片去重工具的完整使用指南与实战方案 【免费下载链接】AntiDupl A program to search similar and defect pictures on the disk 项目地址: https://gitcode.com/gh_mirrors/an/AntiDupl 在数字时代&#xff0c;我们每天都在积累大量的图…...

如何快速掌握小程序UI组件库:Vant Weapp的5大优势与完整指南

如何快速掌握小程序UI组件库&#xff1a;Vant Weapp的5大优势与完整指南 【免费下载链接】vant-weapp 轻量、可靠的小程序 UI 组件库 项目地址: https://gitcode.com/gh_mirrors/va/vant-weapp Vant Weapp是一款轻量、可靠的小程序UI组件库&#xff0c;专为微信小程序开…...

智读致用|《谷歌亚马逊如何做产品》6|赢在数据驱动:抓住核心指标,就能让产品“开口说话”

核心问题&#xff1a;产品发布后&#xff0c;怎么判断它到底成没成功&#xff1f;团队争论需求优先级时&#xff0c;凭什么说“这个比那个重要”&#xff1f; 上一篇文章解决了“产品能不能用”&#xff0c;现在要回答更根本的问题&#xff1a;它值不值得继续投入&#xff1f; …...