2013-07-16 6 views
1

Результат уровня звука всегда равен 0, у меня звук отключен или максимальный объем.Получить текущие уровни громкости звука 8

Что не так?

[DllImport("winmm.dll")] 
private static extern int waveOutGetVolume(IntPtr hwo, out uint dwVolume); 

public int GetCurrentSoundValue() 
      { 
       uint currentVolume; 
       int result = waveOutGetVolume(IntPtr.Zero, out currentVolume); 
       return result; 
      } 
+0

Вам не нужно возвращать currentvolume? – Sayse

+0

, если я возвращаю currentvolume, результат также всегда 4294967295. wether i отключить его или увеличить его – xRed

ответ

4

С момента выпуска Windows 7/Vista Microsoft изменила разрешения на изменение звука низкого уровня. Вместо этого вы должны использовать API CoreAudio. Я не могу предоставить слишком много информации, поскольку я на самом деле не играл с ней, но вот ссылка: CoreAudio API

Удачи!

Смежные вопросы