Как исправить ошибку "Не удается воспроизвести отключенный источник звука"?

Я пытаюсь добавить в свою игру звук, который всякий раз, когда игрок перемещается через определенное пространство, воспроизводит звук хруста. Я создал файл AudioSource и файл.OGG для звука.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SpaceBlue : MonoBehaviour 
{
    public Transform spaceNext;
    public AudioSource stepOnObject;
    public AudioClip stepOnSound;

    private void Start()
    {
        stepOnObject.clip = stepOnSound;
        stepOnObject.enabled = true;
    }

    private void OnTriggerEnter(Collider other)
    {
        if (other.tag == "Player")
        {
            stepOnObject.Play();
            if (BoardScript.diceValue > 0)
            {
                BoardScript.diceValue -= 1;
                Debug.Log("The dice are now " +BoardScript.diceValue);
                other.transform.LookAt(spaceNext);
            }

        }
    }
}

Я включил источник и клип в свой игровой объект, и я попробовал его как с выбранным "Play on wake", так и без него.

Всякий раз, когда игра проходит по игроку, идет по объекту, я получаю предупреждение в движке Unity, говорящее, что источник отключен.

Любая помощь приветствуется:)

2 ответа

У меня была похожая проблема, и я исправил ее, изменив местоположение вызова Play() после вызова Destroy(GameObject). Я бы порекомендовал попробовать переместить вызов Play() в конец функции или попробовать Invoke("stepOnObject.Play", 0.5f); чтобы его вызвали.

В противном случае, убедитесь, что его флажок отмечен, и что AudioSource действительно имеет прикрепленный AudioClip.

Если у вас есть фрагмент кода в каком-то другом скрипте, который уничтожает этот игровой объект или делает SetActive ложным, то лучшим способом решить эту проблему будет задержка этого фрагмента кода на некоторое время с помощью сопрограммы.

Другие вопросы по тегам