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();

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

示例

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Nicole Potter

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值