Unity中的Audio组件
2017-03-22 本文已影响0人
困卡
unity音乐播放
首先需要添加Audio Source组件。
使用内部API实现音乐的播放与控制
Clip:声音片段
Pause:暂停
Stop:停止
Play:播放
Loop:循环播放
Volume:音量大小
Time:播放时长
PlayOnAwake();是否一开始播放

//音乐文件
public AudioSource music;
//音量
public float musicVolume;
void Start()
{
//设置默认音量
musicVolume = 0.5F;
}
void OnGUI()
{
//播放音乐按钮
if (GUI.Button(new Rect(10, 10, 100, 50), "Play music"))
{
//没有播放中
if (!music.isPlaying)
{
//播放音乐
music.Play();
}
}
//关闭音乐按钮
if (GUI.Button(new Rect(10, 60, 100, 50), "Stop music"))
{
if (music.isPlaying)
{
//关闭音乐(重头开始)
music.Stop();
}
}
//暂停音乐
if (GUI.Button(new Rect(10, 110, 100, 50), "Pause music"))
{
if (music.isPlaying)
{
//暂停音乐 ,这里说一下音乐暂停以后点击播放音乐为继续播放
//而停止以后在点击播放音乐则为从新播放
//这就是暂停与停止的区别
music.Pause();//继续开始
}
}
//创建一个横向滑动条用于动态修改音乐音量
//第一个参数 滑动条范围
//第二个参数 初始滑块位置
//第三个参数 起点
//第四个参数 终点
musicVolume = GUI.HorizontalSlider(new Rect(160, 10, 100, 50), musicVolume, 0.0F, 1.0F);
//将音量的百分比打印出来
GUI.Label(new Rect(160, 50, 300, 20), "Music Volueme is " + (int)(musicVolume * 100) + "%");
if (music.isPlaying)
{
//音乐播放中设置音乐音量 取值范围 0.0F到 1.0
music.volume = musicVolume;
}
}
public AudioSource or;
public AudioClip audio1, audio2;
void Start () {
or = transform.GetComponent<AudioSource>();
}
void Update () {
if (Input.GetKeyDown(KeyCode.Q))
{
Audio11();
}
if (Input .GetKeyDown(KeyCode.W))
{
Audio22();
}
}
void Audio11()
{
or.clip = audio1;
or.Play();
}
void Audio22()
{
or.clip = audio2;
or.Play();
}