Audio

音频文件导入

常用格式

  1. wav
  2. mp3
  3. aiff

音频文件属性设置

  1. Force To Mono:多声道转单声道;
    Normalize:强制为单声道时,混合过程中被标准化
  2. Load In Background:在后台加载时,不阻塞主线程
  3. Ambisonic:立体混响声,非常适合360度视频和XR应用程序,如果音频文件包含立体混响声编码的音频,请启用此选项
  4. LoadType:加载类型
  • Decompress On Load:不压缩形式存在内存,加载快,但是内存占用高,适用于小音效
  • Compress in memory:压缩形式存在内存,加载慢,内存小,仅适用于较大音效文件
  • Streaming:以流形式存在,使用时解码。内存占用最小,cpu消耗高,性能换内存
  1. Preload Audio Data:预加载音频,勾选后进入场景就加载,不勾选,第一次使用时才加载
  2. Compression Format:压缩方式
  • PCM:音频以最高质量存储
  • Vorbis:相对PCM压缩的更小,根据质量决定
  • ADPCM:包含噪音,会被多次播放的声音,如碰撞声
  1. Quality:音频质量,确定要应用于压缩剪辑的压缩量。不适用于PCM/ADPCM/HEVAG格式
  2. 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位、单通道
posted @ 2024-10-18 15:10  请明月  阅读(14)  评论(0编辑  收藏  举报