Загрузка внешнего файла 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.