UNITY 音频系统的控制方法

using UnityEngine;

using System.Collections;

public class beijingyin : MonoBehaviour {

public AudioClip _audio;

public AudioSource ads;

//音量

public float musicVolume;

//public scro

// Use this for initialization

void Start () {

StartCoroutine(AudioSourcePlay(_audio));

//设置默认音量

musicVolume = 0.5F;

}

// Update is called once per frame

void Update () {

}

public IEnumerator AudioSourcePlay(AudioClip adc)

{

ads.clip = adc;

ads.Play();

while (ads.isPlaying)

{

yield return new WaitForSeconds(0f);

}

}

public void kaishi()

{

ads.Play();

}

public void guanbi()

{

ads.Stop();

}

public void zanting()

{

if (ads.isPlaying)

{

ads.Pause();

}

}

void OnGUI()

{

//播放音乐按钮

if (GUI.Button(new Rect(10, 10, 100, 50), "Play music"))

{

//没有播放中

if (!ads.isPlaying)

{

//播放音乐

ads.Play();

}

}

//关闭音乐按钮

if (GUI.Button(new Rect(10, 60, 100, 50), "Stop music"))

{

if (ads.isPlaying)

{

//关闭音乐

ads.Stop();

}

}

//暂停音乐

if (GUI.Button(new Rect(10, 110, 100, 50), "Pause music"))

{

if (ads.isPlaying)

{

//暂停音乐

//这里说一下音乐暂停以后

//点击播放音乐为继续播放

//而停止以后在点击播放音乐

//则为从新播放

//这就是暂停与停止的区别

ads.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 (ads.isPlaying)

{

//音乐播放中设置音乐音量 取值范围 0.0F到 1.0

ads.volume = musicVolume;

}

}

}

阅读全文

你可能感兴趣的:(UNITY 音频系统的控制方法)