ПрограммированиеФорумЗвук

Ogg Vorbis и OpenAL

#0
5:07, 22 сен 2017

Кому-нибудь удавалось из креативовского примера поточного воспроизведения Ogg Vorbis "PlayOggVorbis.cpp" сделать статичную загрузку?
У них в примерах для wav-файлов написано static и stream, в общем полная загрузка звука в буфер (для небольших файлов).
Голову сломал, никак не могу осилить эту беду!

#1
8:57, 22 сен 2017

Daniil Petrov
Можно наивный вопрос? А зачем ты свой звуковой двиг пишешь? Не проще готовый взять? FMOD тот же или Squal.

#2
9:25, 22 сен 2017

Я юзаю stb_vorbis. Компактная и свободная библиотека в одном .c файле.
PS: не знаю хуже ли она связки библиотек Ogg/Vorbis, может кто-нибудь сравнивал?

#3
10:43, 22 сен 2017

Мизраэль
> А зачем ты свой звуковой двиг пишешь?
Мне проще сделать своё, чем разбираться в чужом - вопрос только в загрузке файла Ogg Vorbis целиком и встал.
Если вопрос по-горячему не решится, буду пока мелочёвку хранить в Wav, а большие файлы в Ogg Vorbis.
А вообще если бы было проще взять готовое, то я бы выбрал сразу UE4 и не парился со своим движком.

0xc0de
> Я юзаю stb_vorbis. Компактная и свободная библиотека в одном .c файле.
А там примеры стриминга и полной загрузки звукового файла есть?

#4
11:05, 22 сен 2017

Daniil Petrov
> А там примеры стриминга и полной загрузки звукового файла есть?

https://gist.github.com/Oddity0x0/965399

#5
11:06, 22 сен 2017

https://github.com/nothings/stb/blob/master/tests/test_vorbis.c

Прошло более 11 месяцев
#6
1:23, 29 авг 2018

Вот тут есть много примеров как разные форматы звуков играть через OpenAL https://github.com/corporateshark/PortAMP

#7
2:17, 29 авг 2018

Делал не по примеру, а просто по документации. Сложностей никаких не припомню. Все на раз пошло.
Раздавал записи с сервера, в разных форматах. Собственно воспроизведение не требовалось, только перекодировки в заказанную форму. В те времена mp3 вдруг резко стал закрытым после перехода его в руки AOL, пришлось на ogg переходить.

#8
2:20, 29 авг 2018

Вопрос давно решён, нашёл наколку в интернете и приспособил креативовский пример = теперь один класс используется для буферизированного и поточного воспроизведения.
А вот пример с форума у меня не заработал, даже интересно стало, у кого он работает...

ПрограммированиеФорумЗвук

Тема в архиве.