Привет.
Не понимаю что делаю не так. Вот код:
void CustomSound::SetVolume(const float volume) { mVolume = volume; alSourcef( mSourceID, AL_GAIN, volume); CheckALError( ); }
mSourceID валидный, volume тоже правильный. Ошибки нет по CheckALError();
Куда можно ещё посмотреть ?
Заранее благодарю.
P.S. На начальном этапе ставлю AL_GAIN в 0.0 чтобы потом плавно увеличивать громкость при воспроизведении и уменьшать при паузе или остановке проигрывания.
Gladiator
AL_GAIN меняешь от 0 до 1?
mr.DIMAS
да
Заметил еще одну странность, когда стопаю сигнал и снова воспроизвожу, то при повторном воспроизведении я проверяю какое состояние у звука AL_PAUSED или AL_STOPPED. Так вот почему-то у него стоит AL_INITIAL.
Я так понимаю что ты делаешь сначала alSourceStop, затем alSourcePlay. Тут логично что будет AL_INITIAL, ибо AL_STOPPED-источник перед воспроизведением делает внутри себя alSourceRewind который и ставит состояние в AL_INITIAL.
Вообще странная у тебя проблема, может где-то еще накосячил? Кода много? Может покажешь все что использует OpenAL. Я с ним хорошо знаком, но такое как у тебя первый раз вижу
mr.DIMAS
да, накосячил.. Нашёл.. звук ставлю а play не вызываю.. ;D
Спасибо! :)
Тема в архиве.