Я даже не уверен, укладывается ли это в один вопрос, но это единственная проблема. У меня есть проигрыватель интернет-радио, написанный на Delphi XE, использующий библиотеку BASS для потоковой передачи и воспроизведения звука. Приложение должно работать под Windows XP, Vista и 7.
Bass позволяет легко контролировать глобальную громкость, но не имеет возможности отключить звук, и, как правило, лучше регулировать громкость для каждого приложения.
Bass также позволяет легко регулировать громкость «канала» (потока), но опять же, нет отключения звука, и это тоже не подходящее управление для каждого приложения. (На регулятор громкости приложения в микшере Windows это не повлияет.)
Я понимаю, что для Vista и выше мне нужны ISimpleAudioVolume и / или IAudioEndpointVolume, но я не могу найти их реализацию в Delphi. Итак, одна часть вопроса заключается в том, существует ли она как сторонняя библиотека?
Часть вторая: как правильно регулировать громкость и отключать звук (в масштабе всей системы или для отдельного приложения) в XP, где эти интерфейсы недоступны?