Unity 3D通过脚本控制音频音量、继续、暂停、停止播放;判断当前音乐是否播放;切换音乐;


/// 记录当前所选音乐
public int mu;
public AudioClip[] musics;//切歌   
void Start()

{
    am = GameObject.Find("MainCamera").GetComponent();//初始化,找到  am,Audiolistener在Camera上
}
/// 
/// 暂停音乐
/// 
public void pausemusic()
{
    am.Pause();//停止正在播放的声音
}
/// 
/// 继续播放am中的声音
/// 
public void playmusic()
{
    am.Play();
}
/// 
/// 停止播放音乐
/// 
public void stopmusic()
{
    am.Stop();//停止正在播放的声音
}
/// 
/// 调节音量
/// 
/// 
public void changevoice(float v)
{
    am.volume = v;
}
/// 
/// 切换音乐
/// 
public void nextmusic()
{
    mu = (mu + 1) % 3;
    am.clip = musics[mu];
    am.Play();
    switch (mu)
    {
        case 0:
            {
                _Musicname.text = "第一首";
            }
            break;
        case 1:
            {
                _Musicname.text = "第二首";
            }
            break;
        case 2:
            {
                _Musicname.text = "第三首";
            }
            break;
        default:
            break;
    }
}
void Update()
{
    if (am.isPlaying)
    {
        Debug.Log("正在播放");
    }
    if (!am.isPlaying)
    {
        Debug.Log("没有播放")
    }
}

演示

在HideInInspector中将三首音乐拖到音乐组中,自定义音乐数量也可以,需要修改代码中切换音乐函数中的部分内容。调用脚本中的函数即可实现对应功能。

重复播放音乐代码如下

am.loop = true;//循环播放音乐

你可能感兴趣的:(unity交互,unity,音视频,游戏引擎,c#,ui)