Управление громкостью звука приложения в Delphi

Я даже не уверен, вписывается ли это в один вопрос, но это отдельная проблема. У меня есть проигрыватель интернет-радио, написанный на Delphi XE, использующий библиотеку BASS для потоковой передачи и воспроизведения звука. Приложение должно работать под Windows XP, Vista и 7.

Bass позволяет легко контролировать общую громкость, но не имеет возможности приглушить звук, и, как правило, лучше регулировать громкость для каждого приложения.

Низкие частоты также позволяют легко регулировать громкость «канала» (потока), но опять же нет отключения звука, и это также не является надлежащим управлением для каждого приложения. (Это не влияет на управление громкостью приложения в микшере Windows.)

Я понимаю, что для Vista и более поздних версий мне нужны ISimpleAudioVolume и / или IAudioEndpointVolume, но я не могу найти их реализацию в Delphi. Итак, одна часть вопроса заключается в том, существует ли она как сторонняя библиотека?

Часть вторая: как правильно регулировать громкость и отключать звук (в масштабе всей системы или для каждого приложения) в XP, где эти интерфейсы недоступны?

8
задан Andreas Rejbrand 6 January 2011 в 14:48
поделиться