Войти
ПрограммированиеФорумЗвук

Проблемы с громкостью в DirectMusic

#0
16:21, 15 ноя. 2008

С DirectSound и DirectMusic я начал разбираться относительно недавно, знания черпал из книг Джима Адамса "Programming RPG with DX" и Тодда Барона "Strategy game programming". Сейчас решил опробовать знания на практике и написать примитивную игру. Задача сводится к тому, что нужно воспроизводить wav файлы, причём один звук может воспроизводиться несколько раз, "перекрывая" себя(Н: падение большого количества капель).
Проблему пытался решать двумя способами:

1)Используя DirectSound,DirectSoundBuffer и т.д.(как здесь - http://www.netlib.narod.ru/library/book0051/ch04_03.htm).
Минусы:
-ручная загрузка файла - подгонять файл под требования функции желания нет.
-невозможность воспроизвести звук много раз в короткий промежуток времени.(Второй вызов метода Play, сводит на нет первый)
Плюсы:
-отсутствие минусов 2-го способа.

2)Используя DirectMusicPerformance,DirectMusicLoader и т.д.
Минусы:
-низкая громкость
Плюсы:
-отсутствие минусов 1-го способа.


Я склоняюсь ко второму способу, т.к. минусов и кода меньше, но с громкостью ничего не могу сделать. AudioPath::SetVolume и Performance8::SetGlobalParam не помогают - звук,воспроизводимый средствами DMusic тише, чем в проигрывателе или в приложении с DSound.(В примерах из DXSDK аналогично).

Собственно вопрос: как увеличить громкость в DirectMusic до максимума и без искажений?

Ps. Довольно часто тут упоминалось, что DirectShow, DirectSound и DirectMusic мертвы. Стоит ли биться над этой проблемой или есть более эффективные библиотеки?


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

Тема в архиве.