音频文件属性设置
音频源属性设置
3D音效设置
音效的代码控制
public AudioSource AudioSource;
public AudioClip Clip;
代码控制播放停止
if (Input.GetKeyDown(KeyCode.P)) { AudioSource.Play(); } if (Input.GetKeyDown(KeyCode.S)) { AudioSource.Stop(); } if (Input.GetKeyDown(KeyCode.M)) { AudioSource.Pause(); }停止暂停和 暂停后播放的效果是一样的 都会继续播放现有的音效
if(Input.GetKeyDown(KeyCode.D)) { AudioSource.UnPause(); }延迟播放
AudioSource.PlayDelayed(5);如何检测音效播放完毕
希望一个音效播放完毕后 想要做什么事情
那么就可以在Updated生命周期函数中不停的去检测 它的该属性
false代表播放完毕
if (AudioSource.isPlaying) { }如何动态控制音效播放
比如受伤 回血等
1直接在要播放音效的对象上挂载该脚本 控制播放
2实例化挂载了音效源脚本对象 用的比较少
3用一个AudioSource控制播放不同音效
AudioSource aus = this.gameObject.AddComponent<AudioSource>(); aus.clip = Clip; aus.Play();潜在点 :一个GameObject可以挂载多个音效脚本 要管理他们,
控制他们的播放 停止 不然我们没有办法准确的获取
麦克风
AudioClip clip;
获取设备麦克信息
string[] strs = Microphone.devices; for(int i = 0; i < strs.Length; i++) { print(strs[i]); }开始录制
设备名; 超过录制长度后 是否重头录制 ;录制时长; 采样频率;
clip=Microphone.Start(null,false,10,44100);结束录制
Microphone.End(null);获取音频数据用于存储或传输
float[] f =new float[clip.channels*clip.samples]; clip.GetData(f, 0); print(f.Length);