Unity开发之音效相关

目录

音频文件的导入

音频源相关

麦克风输入相关

获取麦克风设备信息

开始录制

获取音频数据用于存储或者传输

代码控制音频源

动态控制音效播放

示例


音频文件的导入

常用格式:wav,mp3,ogg,aiff

Force To Mono(多声道转单声道)Normalize(强制为单声道,混合过程中被标准化)
Load in Background在后台加载,不阻塞主线程
Ambisonic立体混响声非常适合360度视频和XR应用程序,如果音频文件包括立体混响声编码的音频,请启用该选项

加载类型

Decompress On Load不压缩形式存在内存,加载快,但是内存占用高(适用于小音效)
Compress in memory压缩形式存在内存,加载慢,内存小(适用于较大音效文件)
Streaming以流形式存在,使用时解码,内存占用最小,cpu消耗高(性能换内存)

preload audio data 预加载音频,勾选后加入场景就加载,不勾选,第一次使用时才加载。

压缩方式(Compression Format)

PCM音频以最高质量存储
Vorbis相对PCM压缩的更小,根据质量决定
ADPCM包含噪音,会被多次播放懂点声音,比如碰撞声

音频源相关

Loop循环
Priority优先级
Volume音量大小
Mute静音开关
Pitch音高
AudioClip声音剪辑文件(音频文件)

场景上只允许有一个音效监听器。

麦克风输入相关

获取麦克风设备信息
string[] strs=Microphone.devices;
for(int i=0;i<str.Length;i++)
{
   print(strs[i]);
}//获取麦克风的名字
开始录制
clip=Microphone.Start(null,false,10,44100);
//参数一:设备名字 传空使用默认设备
//参数二:超过录制长度之后是否重录
//参数三:录制时长
//参数四:采样率
获取音频数据用于存储或者传输
//首先插入音频文件
private AudioClip clip;
//用于存储数组数据长度,是用声道*剪辑长度
float[] f=new float[clip.channels*clip.samples];
clip.GetData(f,0);
print(f.Length);

代码控制音频源

首先声明成员变量

AudioSource audioSource;

获取组件

void Start()
{
   audioSource=this.GetComponent<AudioSource>();
}

代码控制播放和停止

//播放音效
audioSource.Play();
//停止播放音效
audioSource.Stop();

代码控制暂停

audioSource.Pause();

延迟播放音效

audioSource.PlayDelayed(7);
//延迟7秒播放

停止暂停

audioSource.UnPause();

检测音效是否播放完毕(可以在Update中不停检测,如果是false就是播放完毕)

if(audioSource.isPlaying)
{
  print("播放中");
}
else
{
  print("播放结束");
{

动态控制音效播放

直接将要播放的对象上挂载脚本,控制播放。实例化挂载 音效源脚本的对象(直接将音效做成预设体)

用一个AudioSource来控制播放不同的音效

AudioSource aus=this.gameObject.AddComponent<AudioSources>();
aus.clip=clip;
aus.Play();

可以挂载多个音效,但是需要自行管理,不然无法识别。

示例

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++入门 (2) >>引用>>内联函数>>auto关键字

1 引用 定义&#xff1a;给变量起别名。 方法&#xff1a;在类型后面加上&符号。 主要作用&#xff1a;代替函数传指针。 例&#xff1a; void test(int& a) //参数为int&类型 {a 10; }int main() {int m 3;int& z m; //给m起别名叫z&#xff0…

基于springboot+vue+Mysql的在线考试系统

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

MySQL8,体验不一样的安装方式!

MySQL官网中下载YUM源rpm安装包。 1、把上面的rpm文件下载下来放到服务器上 #或者在linux系统中通过wget命令下载 wget http://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm2、下载完成后使用yum命令本地安装yum源 yum localinstall mysql80-community-rel…

Linux云计算之Linux基础3——Linux基本认识操作

1、终端 终端(terminal)&#xff1a;人和系统交互的必要设备&#xff0c;人机交互最后一个界面&#xff08;包含独立的输入输出设备&#xff09; 物理终端(console)&#xff1a;直接接入本机器的键盘设备和显示器虚拟终端(tty)&#xff1a;通过软件方式虚拟实现的终端。它可以…

IP-guard WebServer 任意文件读取漏洞复现

0x01 产品简介 IP-guard是由溢信科技股份有限公司开发的一款终端安全管理软件,旨在帮助企业保护终端设备安全、数据安全、管理网络使用和简化IT系统管理。 0x02 漏洞概述 由于IP-guard WebServer /ipg/static/appr/lib/flexpaper/php/view.php接口处未对用户输入的数据进行严…

VMamba: Visual State Space Model

VMamba: Visual State Space Model VMamba&#xff1a;视觉状态空间模型 论文链接&#xff1a;http://arxiv.org/abs/2401.10166 代码链接&#xff1a;https://github.com/MzeroMiko/VMamba 1、摘要 借鉴了最近引入的状态空间模型SSM&#xff0c;提出了Visual State Space M…

如何保证Redis的缓存和数据库中的数据的一致性?

Redis的缓存如何和数据库中的数据保持一致性&#xff1f; 我们都知道&#xff0c;Redis是一个基于内存的键值存储系统&#xff0c;数据完全存放在内存中&#xff0c;这使得它的读写速度远超传统的硬盘存储数据库。对于高访问频率、低修改率的数据&#xff0c;通过将它们缓存在…

动态规划:线性dp

1.最长公共子序列(LCS) dp[i][j]含义&#xff1a;序列Ai(a1-ai)和Bj(b1-bj)的最长公共子序列长度 分析两种情况&#xff1a; &#xff08;1&#xff09;当ai bj时&#xff0c;已经求得Ai-1和Bj-1的最长公共子序列 dp[i][j] dp[i-1][j-1] 1 &#xff08;2&#xff09;当…

C++:比较运算符(18)

就是进行数据的比较&#xff0c;表达式正确的话就是真&#xff0c;错的话就是假&#xff0c;真假则由bool值来代替&#xff0c;非0即真 等于&#xff08;为赋值&#xff0c;为比较&#xff09;10 200!不等于10 ! 201>大于10 > 200<小于10 < 201>大于等于20 >…

windows安装Openssl

openssl官网:[ Downloads ] - /source/index.html Windows 安装方法 OpenSSL 官网没有提供 Windows 版本的安装包&#xff0c;可以选择其他开源平台提供的工具 Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions 等待下载完成 捐不起 配置环境变量 ope…

【图论】【基环内向树】【广度优先】【深度优先】2127. 参加会议的最多员工数

作者推荐 视频算法专题 本文涉及知识点 图论 基环内向树 LeetCode2127. 参加会议的最多员工数 一个公司准备组织一场会议&#xff0c;邀请名单上有 n 位员工。公司准备了一张 圆形 的桌子&#xff0c;可以坐下 任意数目 的员工。 员工编号为 0 到 n - 1 。每位员工都有一位…

XML --java学习笔记

XML(全称EXtensible Markup Language&#xff0c;可扩展标记语言) 本质是一种数据的格式&#xff0c;可以用来存储复杂的数据结构&#xff0c;和数据关系 XML的特点 XML中的“<标签名>”称为一个标签或一个元素&#xff0c;一般是成对出现的XML中的标签名可以自己定义…

数字信号处理实验---FFT分析

一、题目&#xff1a; 二、实验要求&#xff1a; 1、绘制图形时&#xff0c;尽量选用已经提供的函数。 2、所有的图形&#xff0c;需要加上横坐标、纵坐标以及标题的说明。 3、将设计的程序保存为脚本文件&#xff0c;在实验报告中&#xff0c;需写出程序语句。 4、Matlab程…

【GlobalMapper精品教程】073:像素到点(Pixels-to-Points)从无人机图像轻松生成点云

文章目录 一、工具介绍二、生成点云三、生成正射四、生成3D模型五、注意事项一、工具介绍 Global Mapper v19引入的新的像素到点工具使用摄影测量原理,从重叠图像生成高密度点云、正射影像及三维模型。它使LiDAR模块成为已经功能很强大的的必备Global Mapper扩展功能。 打开…

安装geopandas很简单。。。

创建新环境 创建新环境并不是绝对必要的&#xff0c;但考虑到安装来自不同通道的其他地理空间包可能会导致依赖冲突 &#xff0c;安装新环境可能是很好的做法&#xff0c;在干净的环境中堆叠&#xff0c;重新开始。 以下命令创建一个名为geo_env的新环境&#xff0c; 将其配置…

CANoe之使用以及车载项目实操总结

以下是我通过8年的项目实操自我总结的一些经验和技术&#xff0c;作为一名奋斗在一线的研发人员&#xff0c;无时无刻不在做自我总结&#xff0c;所有的总结都是通过日报、周报、月报提炼出来的&#xff0c;实践是检验技术的唯一标准&#xff1b; 欢迎大家的交流和分享 思维导…

VSCODE使用VSIX安装扩展

VSCode安装扩展特别慢&#xff0c;使用命令行安装告别龟速&#xff1a; code --install-extension当然&#xff0c;我这个是在WSL 的linux上安装的&#xff0c;Windows一样的。 VSCode扩展商店网页链接&#xff1a;https://marketplace.visualstudio.com/vscode

时序预测 | Matlab实现SOM-BP自组织映射结合BP神经网络时间序列预测

时序预测 | Matlab实现SOM-BP自组织映射结合BP神经网络时间序列预测 目录 时序预测 | Matlab实现SOM-BP自组织映射结合BP神经网络时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现SOM-BP自组织映射结合BP神经网络时间序列预测&#xff08;完整源码…

LeetCode-994. 腐烂的橘子【广度优先搜索 数组 矩阵】

LeetCode-994. 腐烂的橘子【广度优先搜索 数组 矩阵】 题目描述&#xff1a;解题思路一&#xff1a;多源广度优先搜索&#xff08;队列实现&#xff09;解题思路二&#xff1a;哈希表实现&#xff0c;先找出所有腐烂和新鲜橘子的集合{}类似于set()。每剔除一次time1解题思路三&…

ChernoCPP 2

视频链接&#xff1a;【62】【Cherno C】【中字】C的线程_哔哩哔哩_bilibili 参考文章&#xff1a;TheChernoCppTutorial_the cherno-CSDN博客 Cherno的C教学视频笔记&#xff08;已完结&#xff09; - 知乎 (zhihu.com) C 的线程 #include<iostream> #include<th…