Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Введение в OpenAL, и проигрывание музыкального формата OGG/Vorbis (Комментарии к статье)

Введение в OpenAL, и проигрывание музыкального формата OGG/Vorbis (Комментарии к статье)

Страницы: 1 2 3 4 5 6 Следующая »
robotПостоялецwww5 ноя. 20030:21#0
Комментарий к Статье Введение в OpenAL, и проигрывание музыкального формата OGG/Vorbis
В этой статье вы познакомитесь с программированием воспроизведения звука при помощи библиотеки OpenAL. Вы научитесь проигрывать потоки звуков, положение которых можно задавать в трёхмерном пространстве. Часть статьи посвящена воспроизведениию звука в формате OGG/Vorbis. К статье прилагается самодостаточный пример воспроизведения фоновой музыки и звука с положением в пространстве, совмещённым с графическим изображением источника звука.
vivПостоялецwww5 ноя. 20030:21#1
Круто! особенно часть 2.
robotПостоялецwww5 ноя. 200317:02#2
Некий Денис Ильин прислал коммент почтой:

Замечание к статье о библиотеке Open AL.
Статья очень хорошая, только в ней есть небольшой недостаток.
смотрим:
на первой странице:

pDevice = alcOpenDevice(NULL);

в общем то ясно, что pDevice - это указатель на какой то дивайс. Только
какой?!
Выше об этом ничего не сказано, а мысли автора читать на расстоянии
можно только по тому, что он написал. Хотелось бы что бы в статью было
внесено уточнение
(ну, типа определение pDevice).

Большое спасибо за внимание.
Денис

bEe_Постоялецwww5 ноя. 200317:02#3
Блин! Молодец просто!
Автору бы с таким умищщем под линукс програмить... Если автор не против, то сюда:
http://plg.lrn.ru
vortexПостоялецwww5 ноя. 200318:58#4
Денису
Обращай большее внимание на комментарии. Я щедро здабривал исходный код ими. :)
И еше. Выдержка из статьи:
> Как вы видите, все довольно тривиально. В инициализации мы открываем звуковое устройство, заданное по умолчанию. В win32 системах
> используется DirectSound. Если вы хотите явно задать желаемое устройство, вместо NULL передайте строку с названием вашего устройства.

Также, в демонстрационном приложении есть специальная функция: GetSndInfo(), не освещенная в статье, которая возвращает информацию о используемом звуковом устройстве.

bEe_BrOTh
> Блин! Молодец просто!
Спасибо. :)

> Автору бы с таким умищщем под линукс програмить... Если автор не против, то сюда: http://plg.lrn.ru
Та не много там того умища. :) На счет ссылки, конечно, не против (если Вы это имели ввиду), но смотрите, чтобы администрация этого сайта была не против. :)

WolfheartПостоялецwww5 ноя. 200322:58#5
РУЛЕЗ! Спасибо!!
bEe_Постоялецwww10 ноя. 200316:42#6
Дык администрация не против!!!
Я там как бы сам себе администрация!
Тоесть я владелец - чё хочу то и пишу :)
AntanubiSПостоялецwww13 ноя. 200321:51#7
bEe_BrOTh
:) Я так понял, что администрация этого сайта имеется ввиду:)
watВедущийwww19 янв. 200422:07#8
в функции ReadOggBlock постоянно new, delete -- это, наверно, не очень эффективно.
vortexПостоялецwww20 янв. 200419:04#9
wat
Да, вопросам оптимизации я таки мало внимания уделил. :)
watВедущийwww20 янв. 200419:55#10
шо-то у меня не работает этот ov_read под амд 64. :(
_pol_Постоялецwww24 янв. 20041:06#11
Статья, отличная.
Но у меня возникли проблемы, после компиляции на Builder'е 6.
При запуске программа выдавала Access violation.
Убрал объявление ifstream OggFile из класса remSnd в внутрь remSnd::LoadOggFile. Заработало. Почти :)  .  При потоковом воспроизведении External exception EEFFACE.
Вызывается в первом же remSnd::Update()  > ReadOggBlock  > ov_read > ReadOgg  , а дальше где-то внутри File->read((char *)ptr, size * nmemb);

Если, кто знает что исправить (кроме моих кривых рук, и не переходя на VC++  :)  ) пишите.

PS: Хотелось бы продолжения :). , многоканальное звучание, эффект Доплера, EAX расширение для OpenAL.

Anton777Новичокwww20 фев. 200414:16#12
Я внимательно изучил статью "Введение в OpenAL, и проигрывание музыкального формата OGG-Vorbis", и нашел ее очень содержательной и полезной.
Спасибо.

Я в своей игре использую  звуковую библиотеку OpenAL по примеру кода из вашей статьи.
И у меня возникли проблемы.

При запуске игры на 60% компьютеров все работает хорошо, а при запуске на 40% компьютеров возникает ошибка : "OpenAL error: Invalid Value".

Причем иногда на тех компьютерах, где игра выдавала ошибку, позже она запускалась...
Это для меня особенно странно.

Возможно, вы сталкивались с подобной проблемой ?
Помогите, пожалуйста, мне решить эту проблему.

Mr.GluckНовичокwww30 мар. 200420:45#13
если в looped поставить false, то звук вообще не проигрывается (ОГГ)
tavПостоялецwww7 июля 20040:47#14
Денис
Вот, ну нашел к чему придраться. :-)
Ну неужели в alc.h, в конце концов, заглянуть нельзя, и узнать что же такое возвращает alcOpenDevice() - ну не void* же. :-)

vortex
Ну, статья очень даже неплохая, и хотя я давно её читал, значимоcти тогда особой не придал, а сейчас, когда звук собирался делать оч. даже выручила, так сказать.

Вот вопросы к автору есть:
1. (не относится к статье) Может ли скорость источника звука, двигающегося навстречу слушателю, превысить скорость звука. (Точнее, почему, когда это происходит у меня прога вылетает с ошибкой "Прога выполнила недопустимую операцию")
2. (по статье) Что означает эта строчка?
>BlockSize = ov_pcm_total(mVF, -1) * 4;
>произведения количества семплов несжатого файла (вызовом функции ov_pcm_total()), на длину >семпла
А почему длина семпла - 4 ? Может надо (mInfo->channels*2) ?
И попутный вопрос: а в ogg что, поддерживается только 16 битный звук?

wat
В обучающих статьях оптимизации лучше избегать - чтоб понятней было. Тут автор правильно сделал.

Страницы: 1 2 3 4 5 6 Следующая »

/ Форум / Программирование игр / Общее

2001—2018 © GameDev.ru — Разработка игр