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];
}
}