Войти
ПрограммированиеФорумОбщее

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

Страницы: 1 2 3 4 5 6 Следующая »
#0
0:21, 5 ноя. 2003

Комментарий к Статье Введение в OpenAL, и проигрывание музыкального формата OGG/Vorbis
В этой статье вы познакомитесь с программированием воспроизведения звука при помощи библиотеки OpenAL. Вы научитесь проигрывать потоки звуков, положение которых можно задавать в трёхмерном пространстве. Часть статьи посвящена воспроизведениию звука в формате OGG/Vorbis. К статье прилагается самодостаточный пример воспроизведения фоновой музыки и звука с положением в пространстве, совмещённым с графическим изображением источника звука.


#1
0:21, 5 ноя. 2003

Круто! особенно часть 2.

#2
17:02, 5 ноя. 2003

Некий Денис Ильин прислал коммент почтой:

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

pDevice = alcOpenDevice(NULL);

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

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

#3
17:02, 5 ноя. 2003

Блин! Молодец просто!
Автору бы с таким умищщем под линукс програмить... Если автор не против, то сюда:
http://plg.lrn.ru

#4
18:58, 5 ноя. 2003

Денису
Обращай большее внимание на комментарии. Я щедро здабривал исходный код ими. :)
И еше. Выдержка из статьи:
> Как вы видите, все довольно тривиально. В инициализации мы открываем звуковое устройство, заданное по умолчанию. В win32 системах
> используется DirectSound. Если вы хотите явно задать желаемое устройство, вместо NULL передайте строку с названием вашего устройства.

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

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

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

#5
22:58, 5 ноя. 2003

РУЛЕЗ! Спасибо!!

#6
16:42, 10 ноя. 2003

Дык администрация не против!!!
Я там как бы сам себе администрация!
Тоесть я владелец - чё хочу то и пишу :)

#7
21:51, 13 ноя. 2003

bEe_BrOTh
:) Я так понял, что администрация этого сайта имеется ввиду:)

#8
22:07, 19 янв. 2004

в функции ReadOggBlock постоянно new, delete -- это, наверно, не очень эффективно.

#9
19:04, 20 янв. 2004

wat
Да, вопросам оптимизации я таки мало внимания уделил. :)

#10
19:55, 20 янв. 2004

шо-то у меня не работает этот ov_read под амд 64. :(

#11
1:06, 24 янв. 2004

Статья, отличная.
Но у меня возникли проблемы, после компиляции на 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.

#12
14:16, 20 фев. 2004

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

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

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

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

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

#13
20:45, 30 мар. 2004

если в looped поставить false, то звук вообще не проигрывается (ОГГ)

#14
0:47, 7 июля 2004

Денис
Вот, ну нашел к чему придраться. :-)
Ну неужели в 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 Следующая »
ПрограммированиеФорумОбщее