Не используйте два инструмента управления зависимостями в одном проекте. Вы обязаны получить ошибки. Придерживайтесь одного из них. Я бы предложил использовать пряжу
Две опции:
Вы рассмотрели показ Регуляторов громкости и разрешение пользователю? Если так, я могу отправить некоторый код для этого. (Вы в основном просто выходите из оболочки к апплету регулятора громкости.
Используйте waveOutSetVolume
API.
Вот пример:
DWORD dwVolume;
if (waveOutGetVolume(NULL, &dwVolume) == MMSYSERR_NOERROR)
waveOutSetVolume(NULL, 0); // mute volume
// later point in code, to unmute volume...
waveOutSetVolume(NULL, dwVolume);
waveOutSetVolume и mixerSetControlDetails только изменяют объем для Вашего приложения на Windows Vista и выше.
Если Вы хотите изменить общую громкость на Vista и вне, ищите интерфейс IAudioEndpointVolume.
Вот сообщение в блоге, которое я записал на этом несколько лет назад.
Возможно, необходимо рассмотреть для НЕ изменения глобального объема. Думайте об этом - если я понижаю объем в MediaPlayer, все другие программы являются все еще столь же громкими как прежде, и это точно, что я ожидаю от любой программы - только понижать свой собственный объем. Конечно, могли бы быть причины изменить глобальный объем, никакое преступление ;)