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

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

示例

相关推荐

  1. 音频开发ALSA框架

    2024-04-04 00:54:02       35 阅读
  2. Unity PlayerPrefs相关应用

    2024-04-04 00:54:02       39 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-04 00:54:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-04 00:54:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-04 00:54:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-04 00:54:02       20 阅读

热门阅读

  1. 网络安全专业术语

    2024-04-04 00:54:02       11 阅读
  2. 蓝桥杯刷题--python-36

    2024-04-04 00:54:02       13 阅读
  3. how to Optimize mysql select clause

    2024-04-04 00:54:02       15 阅读
  4. flutter一个bloc可以对应多个state

    2024-04-04 00:54:02       14 阅读
  5. 讨论 OpenSIPS 预加载路由的问题

    2024-04-04 00:54:02       20 阅读