Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / OpenAL: не получается уменьшить/увеличить громкость

OpenAL: не получается уменьшить/увеличить громкость

Поделиться
GladiatorПостоялецwww22 мар. 201719:21#0
Привет.

Не понимаю что делаю не так. Вот код:

void CustomSound::SetVolume(const float volume)
{
  mVolume = volume;
  alSourcef(mSourceID, AL_GAIN, volume);
  CheckALError();
}

mSourceID валидный, volume тоже правильный. Ошибки нет по CheckALError();

Куда можно ещё посмотреть ?

Заранее благодарю.

P.S. На начальном этапе ставлю AL_GAIN в 0.0 чтобы потом плавно увеличивать громкость при воспроизведении и уменьшать при паузе или остановке проигрывания.

mr.DIMASПостоялецwww22 мар. 201720:28#1
Gladiator
AL_GAIN меняешь от 0 до 1?
GladiatorПостоялецwww22 мар. 201720:37#2
mr.DIMAS
да

Заметил еще одну странность, когда стопаю сигнал и снова воспроизвожу, то при повторном воспроизведении я проверяю какое состояние у звука AL_PAUSED или AL_STOPPED. Так вот почему-то у него стоит AL_INITIAL.

mr.DIMASПостоялецwww22 мар. 201722:13#3
Я так понимаю что ты делаешь сначала alSourceStop, затем alSourcePlay. Тут логично что будет AL_INITIAL, ибо AL_STOPPED-источник перед воспроизведением делает внутри себя alSourceRewind который и ставит состояние в AL_INITIAL.

Вообще странная у тебя проблема, может где-то еще накосячил? Кода много? Может покажешь все что использует OpenAL. Я с ним хорошо знаком, но такое как у тебя первый раз вижу

GladiatorПостоялецwww22 мар. 201722:37#4
mr.DIMAS
да, накосячил.. Нашёл.. звук ставлю а play не вызываю.. ;D

Спасибо! :)

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

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