音频开关代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Audio;
public class Music_Switch : MonoBehaviour
{
private AudioSource audiosource;
public Button button_Music;
public static bool musiccomplete = false;//保存操作所需状态,值等于true时操作完成
public static bool musicswitch = true;//保存音频当前状态
void Start()
{
audiosource = this.GetComponent<AudioSource>();
button_Music.onClick.AddListener(MusicSwitch);
}
void Update()
{
if (audiosource.clip == null)
{
return;
}
}
public void MusicSwitch()
{
if (audiosource.enabled == true)
{
if (audiosource.isPlaying)
{
audiosource.Pause();
musiccomplete = true;
musicswitch = false;
}
else if (!audiosource.isPlaying)
{
audiosource.Play();
musiccomplete = true;
musicswitch = true;
}
}
}
}
在第一个场景创建一个按钮,给按钮添加音乐开关脚本和音频播放器(Audio Source),把按钮拖到脚本上。
音频控制脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Audio;
public class Music_Controller : MonoBehaviour
{
private AudioSource audiosource;
private void Start()
{
audiosource = this.GetComponent<AudioSource>();
if (Music_Switch.musiccomplete)//判断操作是否完成
{
if (Music_Switch.musicswitch)
{
audiosource.Play();
}
else if (!Music_Switch.musicswitch)
{
audiosource.Pause();
}
}
}
}
在第二个场景创建一个空物体,添加音频控制脚本和音频播放器(Audio Source)。回到第一个场景为按钮也添加上音频控制脚本。
文章介绍了如何在Unity中使用C#编写两个脚本,一个是用于切换音频播放/暂停的Music_Switch脚本,另一个是Music_Controller脚本,用于在场景间同步音频状态。

8466





