Загрузка внешнего файла OGG в сборку Unity WebGL во время выполнения

Я пытаюсь загрузить некоторые звуки в формате OGG в мою игру во время выполнения в сборке WebGL. Я использую класс WWW, чтобы получить файл с расширением ".ogg", а затем я вызываю www.audioClip чтобы получить загруженный файл. Это работает на других платформах, но не работает в WebGL.

Unity выдает это сообщение об ошибке: "Потоковая передача 'ogg' на этой платформе не поддерживается". Странно, так как я не пытаюсь транслировать его, и я попытался явно вызвать GetAudioClip(false, false, AudioType.OGGVORBIS) и получил тот же результат.

Я попытался преобразовать мой файл OGG в AAC (с расширениями M4A и MP4) и загрузить его с www.audioClip (ошибка, что он не может определить тип файла из URL) и www.GetAudioClip(false, false, AudioType.MPEG) (без ошибок, но и без звука). Самое близкое к решению, которое я видел в Интернете, - это вместо этого использовать MP3, но я не хочу делать это по причинам лицензирования.

Ограничен ли WebGL в Unity аудиоустройствами, встроенными в приложение?

1 ответ

Пытаться:

WWW data = new WWW (url); yield return data;
AudioClip ac = data.GetAudioClipCompressed(false, AudioType.AUDIOQUEUE) as AudioClip;
if(ac != null)
{
    ac.name = "mySoundFile.ogg";
    gameObject.GetComponent<AudioSource> ().clip = ac;
}
else
{
    gameObject.GetComponent<AudioSource> ().clip = null;
    Debug.Log("no audio found.");
}

у меня работает с файлами.ogg.

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