Аудио передается в AudioSorce, но не проигрывается

public class Audio
{
    public AudioClip GetAudio(string path, string name)
    {
        string audioName = name;
        string soundPath = "file://" + Application.dataPath + "/Songs/" + path + audioName;

        WWW request = new WWW(soundPath);

        return request.GetAudioClip();
    }
}

Затем я вызываю метод этого класса в Старте другого скрипта

private void Start()
    {
        GetComponent<AudioSource>().clip = new Audio().GetAudio("Night Drive/", bitmap.AudioFilename);
        GetComponent<AudioSource>().clip.name = bitmap.AudioFilename;
        GetComponent<AudioSource>().PlayOneShot(GetComponent<AudioSource>().clip);
    }

Таким образом я пытаюсь передать Аудио, оно передается, но не проигрывается.

введите сюда описание изображения

Вот как это аудио выглядит в поле AudioClip в инспекторе. При этом если нажать на этот предпросмотр, оно начнет воспроизведение.

введите сюда описание изображения

Ошибок никаких не возникает


Ответы (1 шт):

Автор решения: Terix

Мне удалось решить проблему добавлением проверки request.isDone, и только после этого возвращать AudioClip. Вот код:

public AudioClip GetAudio(string path, string name)
    {
        string audioName = name;
        string soundPath = "file://" + Application.dataPath + "/Songs/" + path + audioName;

        WWW request = new WWW(soundPath);

        while (!request.isDone)  //жду пока request.isDone станет true
        {
            new WaitForSeconds(0.1f);
            continue;
        }

        return request.GetAudioClip();
    }
→ Ссылка