Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.06;
Скачать: CL | DM;

Вниз

Проблемы с установкой громкости   Найти похожие ветки 

 
Deus ©   (2002-09-16 23:32) [0]

Всем привет.

Для регулировки громкости использую компоненту TAudioMixer.
Код могу привести, но он довольно громоздок.
Проблема такова:
Если баланс установлен не по центру, то при регулировке громкости баланс начинает изменяться, пока не станет по центру.
Это происходит из-за того, что при разной величине громкости, но одинаковом балансе разница между значениями громкости каналов разная. Т.е. когда громкость L=10585, R=19923, разница=-9338. А когда L=32768, R=65535, разница=-32767.
При этом значение баланса одинаковое!
Как это побороть? Можно конечно вывести формулу зависимости, но как то это криво....


 
AlexT1000   (2002-09-18 12:20) [1]

может тебе использовать.
waveOutSetVolume(0,$FFFF);
функция Windows API.

$FF - правый канал от 0 до 255
FF - левый канал от 0 до 255

OldVolume : dword;
waveOutGetVolume(0,@OldVolume);
получить громкость


 
Deus ©   (2002-09-18 13:35) [2]

Это понятно. Проблема в том, что нужно иметь возможность регулировать все возможные каналы, а не только wave/cd/midi.
Это делается через mixerSetControlDetails. Всё регулируется ОК, проблема только с балансом.
Кстати, стандартный виндовый регулятор громкости юзает именно mixerSetControlDetails. И у него тажа проблема: если при неровном балансе и установке громкости в 0 регулятор закрыть, а потом открыть, то баланс станет ровным!
Но при простой регулировке громкости он правильно корректирует громкость каналов. Вопрос - как?


 
Deus ©   (2002-09-18 15:30) [3]

Ура! Решил проблему.
Если кому интересно:
ПЕРЕД изменением громкости получаю значение громкости каждого канала. Если один больше другого => баланс не по центру. Высчитываю процентное соотношение между каналами; Изменяю громкость канала, у которого значение было больше; В соответствии с процентым соотношением высчитываю громкость другого канала. Всё.



Страницы: 1 вся ветка

Текущий архив: 2003.01.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
6-15199
Di_wind
2002-11-08 14:34
2003.01.06
Старая тягомотина(WebBrowser)


1-15093
Beginner
2002-12-22 18:58
2003.01.06
Обновляемое приложение(Как?С чего начать? Методы?)


1-15082
Kostik001
2002-12-22 07:58
2003.01.06
ComboBox с рисунками и проблемами


3-14959
Max Zyuzin
2002-12-15 10:14
2003.01.06
Drag&Drop в DBGrid


14-15271
Anatoly Podgoretsky
2002-12-17 07:40
2003.01.06
Именинники 17 декабря