Audio
音频文件导入
常用格式
- wav
- mp3
- aiff
音频文件属性设置
- Force To Mono:多声道转单声道;
Normalize:强制为单声道时,混合过程中被标准化 - Load In Background:在后台加载时,不阻塞主线程
- Ambisonic:立体混响声,非常适合360度视频和XR应用程序,如果音频文件包含立体混响声编码的音频,请启用此选项
- LoadType:加载类型
- Decompress On Load:不压缩形式存在内存,加载快,但是内存占用高,适用于小音效
- Compress in memory:压缩形式存在内存,加载慢,内存小,仅适用于较大音效文件
- Streaming:以流形式存在,使用时解码。内存占用最小,cpu消耗高,性能换内存
- Preload Audio Data:预加载音频,勾选后进入场景就加载,不勾选,第一次使用时才加载
- Compression Format:压缩方式
- PCM:音频以最高质量存储
- Vorbis:相对PCM压缩的更小,根据质量决定
- ADPCM:包含噪音,会被多次播放的声音,如碰撞声
- Quality:音频质量,确定要应用于压缩剪辑的压缩量。不适用于PCM/ADPCM/HEVAG格式
- Sample Rate Setting:PCM和ADPCM压缩格式允许自动优化或手动降低采样率
- Preserve Sample Rate:此设置可保持采样率不变(默认值)
- Optimize Sample Rate:此设置根据分析的最高频率内容自动优化采样率
- Override Sample Rate:此设置允许手动覆盖采样率,因此可有效地将其用于丢弃频率内容
音频源和音频监听脚本
AudioSource(音频源)
Logarithmic Rolloff:靠近音频源时,声音很大,但离开对象时,声音降低的非常快
Linear Rolloff:与音频源的距离越远,听到的声音越小
Custom Rolloff:音频源的音频效果是根据曲线图的设置变化的
AudioSource脚本控制
//获取音频源
AudioSource audioSource = GetComponent<AudioSource>();
audioSource.clip = Resources.Load<AudioClip>("音频名.后缀名");//添加或切换音频
audioSource.Play(); //播放
audioSource.PlayDelayed(5);//延迟播放
audioSource.Stop();//停止
audioSource.Pause();//暂停
audioSource.UnPause();//取消暂停
bool isPlaying=audioSource.isPlaying//是否正在播放
//使用静态方法PlayClipAtPoint()播放
//参数一:要播放的 AudioClip。
//参数二:在三维空间中播放音频的位置。
//参数三(可选):音频的音量,默认为1.0(即最大音量)。
AudioSource.PlayClipAtPoint(Resources.Load<AudioClip>("音频名.后缀名"), transform.position,0.5f);
使用麦克风获取音频
//获取麦克风信息
Microphone.devices;
//录制
//参数一:设备名,传空使用默认设备
//参数二:超过录制长度后,是否重头录制
//参数三:录制时长
//参数四:采样率
public AudioClip clip;
clip = Microphone.Start(null,false,3,44100);
Microphone.End(null);//结束录制
//注意:Microphone类录取保存到AudioClip中的格式为PCM格式默认16000hz、16位、单通道