Асинхронная загрузка аудио в runtime без зависаний

Программирование на Юнити.

Асинхронная загрузка аудио в runtime без зависаний

Сообщение KoteKotovK 29 дек 2020, 10:45

Всем доброго времени суток. В Unity есть функция UnityWebRequestMultimedia.GetAudioClip, но даже если грузить её асинхронно, всё равно появляется пролаг, притом в случае с WAV весом в 71 мегабайт, он меньше, нежели с MP3 весом в 6, видимо тут дело не совсем в размере файла, но как-то грустно работает эта функция даже в другом потоке. На иностранных форумах предлагали использовать NAudio, но мне нужно грузить AudioSource, чтобы вытаскивать из него SpectrumData, с её помощью визуализировать звук, притом при загрузке через NAudio всё равно есть долгий пролаг, примерно секунду, но грузить асинхронно не пробовал, говорят это может помочь, пока что разбираюсь. Если есть идеи, то буду благодарен. Хотелось бы загружать музыку в другом потоке без пролага и не терять память.
KoteKotovK
UNITрон
 
Сообщения: 267
Зарегистрирован: 20 июн 2014, 06:41

Re: Асинхронная загрузка аудио в runtime без зависаний

Сообщение Msey 02 янв 2021, 18:52

Мне кажется, что лучше порезать большой аудиофайл на множество маленьких и их всех подгружать асинхронно в порядке очереди. Когда все закачалось - ты в процессе воспроизведения первого кусочка присоединяешь остальные, все это кэшируя по надобности.

Понятное дело, что у тебя лагает - ты однократно в оперативную память (телефона?) загружаешь 70 тонн и никакой велосипедный кодек тебе не поможет. Naudio не для таких задач предназначен
Аватара пользователя
Msey
UNIт
 
Сообщения: 120
Зарегистрирован: 31 мар 2015, 20:09
Откуда: Moscow
  • Сайт

Re: Асинхронная загрузка аудио в runtime без зависаний

Сообщение KoteKotovK 03 янв 2021, 07:02

Msey писал(а):Мне кажется, что лучше порезать большой аудиофайл на множество маленьких и их всех подгружать асинхронно в порядке очереди. Когда все закачалось - ты в процессе воспроизведения первого кусочка присоединяешь остальные, все это кэшируя по надобности.

Понятное дело, что у тебя лагает - ты однократно в оперативную память (телефона?) загружаешь 70 тонн и никакой велосипедный кодек тебе не поможет. Naudio не для таких задач предназначен

Идея с разделением интересна, попробую.
KoteKotovK
UNITрон
 
Сообщения: 267
Зарегистрирован: 20 июн 2014, 06:41


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17