一、原理

1.AudioListener :声音监听组件

说白了就是接收声音的组件,只有挂在了这个组件,在场景中播放声音我们才能听到,此组件默认挂载在摄像机上面,不用设置任何参数,新建摄像机都会挂载这个组件,场景中保证有一个即可,多余的需要移除,不然会有提示

2.AudioSource:声音播放组件

其中在AudioSource组件中我们需要了解的参数有:

AudioClip:所要播放的音频,支持格式有.MP3 .ogg .wav .aif

唤醒时播放:勾选后运行时候会自动播放

循环:勾选后会重复播放,适用于背景音乐

音量:调节音量大小

音调:调节音调大小

空间混合:0是2D,拖到1就是3D声音,声音大小会根据距离产生变化

二、代码示例

1.示例一

//从外部指定声音片段

public List clips;

//音源组件

AudioSource audio;

void Start()

{

//获取音源组件

audio = this.GetComponent();

//先停止播放

audio.Stop();

//不循环

audio.loop = false;

//选取第一个播放

audio.clip = clips[0];

audio.Play();

}

void Update()

{

if (Input.GetKeyDown(KeyCode.Alpha1))

{

//切换到音乐0并播放

audio.clip = clips[0];

audio.Play();

}

if (Input.GetKeyDown(KeyCode.Alpha2))

{

//切换到音乐1并播放

audio.clip = clips[1];

audio.Play();

}

//按空格键 暂停/继续

if (Input.GetKeyDown(KeyCode.Space))

{

if (audio.isPlaying)

{

audio.Pause();

}

else

{

audio.UnPause();

}

}

}