Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

OpenAL. Как увеличить громкость источника?


WondeRu ©   (2004-09-06 17:01:00) 

Здравствуйте!

Как увеличить громкость источника звука в OpenAL,не меняя его положения?
Какие форматы OpenAL поддерживает? какие есть расширения? Где глянуть?

Спасибо!


WondeRu   (2004-09-08 14:36:00) [1]

к [8] проблеме прибавились еще 2 вопроса:
1. как просмотреть текущую позицию проигрывания буфера?
2. как проирать буфер не сначала, а с любой позиции?

Спасибо заранее! Если будет вермя ответьте, пожалуйста!


wiz   (2004-09-08 14:01:00) [2]

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


WondeRu   (2004-09-08 11:29:00) [3]

wiz ©   (07.09.04 9:17) [4]
AlSourcef ( MySource, AL_GAIN, MyVolume

работает!)))

Возникла еще она проблема:
Загружаю трэк ogg (моно, 44800), но он не хочет позиционироваться в пространстве, играет одинаково из из двух колонок, как бы я ему position не выставлял! Маленькие wav из SDK нормально себя ведут! Есть идеи?


wiz   (2004-09-08 07:28:00) [4]

PS: с AL_PITCH'ем не игрался (т.к. пока не было необходимости)


wiz   (2004-09-07 18:51:00) [5]

2 WondeRu: ну что ты как маленький... попробуй поставить вместо 1.0 - 2.0 или 4.0 или 0.25, а потом запустить...


WondeRu   (2004-09-07 10:01:00) [6]

мой код
procedure TMediaSource.UpdateMedia;
begin
 if alIsSource(Fsource) then
     AlDeleteSources(1, @Fsource);

 alGenSources(1, @Fsource);

 AlSourcei(Fsource, AL_BUFFER, Fbuffer);
 AlSourcef(Fsource, AL_PITCH, 1.0 );// тон звука, что он меняет?
 AlSourcef(Fsource, AL_GAIN, 1.0 );// здесь мудрить?

 UpdatePosition;
end;

procedure TMediaSource.UpdatePosition;
begin
 Fsourcepos[0] := FGLObject.Position.X;
 Fsourcepos[1] := FGLObject.Position.Y;
 Fsourcepos[2] := 0;

 Fsourcevel[0] := 0;
 Fsourcevel[1] := 0;
 Fsourcevel[2] := 0;

 AlSourcefv(Fsource, AL_POSITION, @Fsourcepos);
 AlSourcefv(Fsource, AL_VELOCITY, @Fsourcevel);
 AlSourcei(Fsource, AL_LOOPING, AL_TRUE);
end;


wiz   (2004-09-07 09:17:00) [7]

ok... долго медитируем над процедурой AlSourcef с ключом AL_GAIN (второй параметр AlSourcef)

hint: AlSourcef ( MySource, AL_GAIN, MyVolume );


WondeRu   (2004-09-07 09:01:00) [8]

[1][2]
если бы я не был там, то врядли задавал бы эти вопросы!)
Может кто по существу ответит, если Вас это не затруднит, ткнет носом в страницу SDK?


wiz   (2004-09-06 18:10:00) [9]

я даже больше скажу:
http://www.noeska.com/doal/tutorials.aspx

(тутор на дельфях)


Darthman   (2004-09-06 17:30:00) [10]

www.openal.org


Наверх

Титульная страница Поиск, карта сайта Написать письмо