Unity2d AudioClip оставляет длительное эхо

У меня есть монофонический файл.wav, который я пытаюсь воспроизвести как аудиоклип PlayOneShot() в своей игре, используя AudioSource. Звук прекрасно воспроизводится в редакторе 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 плохо обрабатывает моно звуки?

2 ответа

Я решил собственную проблему, используя информацию, найденную здесь: https://answers.unity.com/questions/451895/distorted-audio-using-playoneshot.html

Проблема заключалась в том, что PlayOneShot вызывался несколько раз, потому что условие для воспроизведения шума выполнялось в течение длительного периода времени. Чтобы справиться с этим, я установил для bool значение false после его однократного воспроизведения и проверил, является ли bool истинным перед воспроизведением звука.

Вы можете сделать что-то вроде этого:

      public AudioClip[] otherSounds;
AudioSource audioSource;

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

void Update() {
    if(){
        audioSource.clip = otherSounds[Index];
    }
}
Другие вопросы по тегам