目录
音频文件的导入
常用格式: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();
可以挂载多个音效,但是需要自行管理,不然无法识别。