单个Audiosource用于多个剪辑?

时间:2018-03-21 22:54:43

标签: unity3d

我在脚本中有几个音频源,想法是一个用于效果而另一个用于音乐。我注意到如果一个效果与另一个效果同时播放,它实际上会阻止前一个效果播放,可能是因为它们是从同一个音频源播放。

我的问题是,每次我想播放一个新声音时,我是否真的需要实例化一个新的音频源,只是为了确保一个声音不会停止当前播放的声音?还有更好的方法吗?

在我的班级中播放音效(和清醒音效)的方法是:

void Awake() {
    audioSource = GetComponents<AudioSource>()[0];
    audioEffectsSource = GetComponents<AudioSource>()[1];
    audioSource.volume = PlayerPrefsManager.getMasterVolume();
    audioEffectsSource.volume = PlayerPrefsManager.getSFXMasterVolume();
}

public void playSoundEffect(AudioClip clip)
{
    if(clip != null)
    {
        audioEffectsSource.clip = clip;
        audioEffectsSource.volume = PlayerPrefsManager.getSFXMasterVolume();
        audioEffectsSource.PlayOneShot(clip);
    }
}

该脚本附加到一个音乐管理器游戏对象,该对象有2个音频源,一个用于音乐fx,另一个用于音轨。

0 个答案:

没有答案