0

我有一个单声道 .wav 文件,我正在尝试使用 AudioSource 在我的游戏中将其作为 PlayOneShot() AudioClip 播放。声音在 Unity 编辑器中播放完美,但出于某种原因,它会在游戏中产生回声并在游戏中留下永不消失的持久混响。仅使用此处的简单 PlaySound 函数调用它:

public static void PlaySound (string clip) {

    switch (clip) {
    case "death":
        audioSrc.PlayOneShot (deathSound);
        break;
    case "move":
        audioSrc.PlayOneShot (move);
        break;
    case "success":
        audioSrc.PlayOneShot (success);
        break;

    }


}

这个 AudioSource 可以完美地处理所有其他声音。我不知道我什至可以尝试改变什么,因为我一开始就没有搞乱任何 AudioSource 选项。Unity2d 不能很好地处理单声道声音吗?

4

2 回答 2

0

你可以这样做:

public AudioClip[] otherSounds;
AudioSource audioSource;

void Start(){
    audioSource = GetComponent<AudioSource>();
}

void Update() {
    if(){
        audioSource.clip = otherSounds[Index];
    }
}
于 2021-07-15T16:43:03.853 回答
0

我使用此处找到的信息解决了我自己的问题:https ://answers.unity.com/questions/451895/distorted-audio-using-playoneshot.html

问题在于 PlayOneShot 被多次调用,因为长时间满足播放噪音的条件。为了解决这个问题,我在播放一次后将 bool 设置为 false,并在开始播放声音之前检查 bool 是否为 true。

于 2018-04-21T19:27:11.997 回答