Module: Muter

Extended by:
FFI::Library, Muter
Included in:
Muter
Defined in:
lib/muter.rb

Constant Summary collapse

VK_VOLUME_DOWN =

from msdn on keybd_event …

0xAE
VK_VOLUME_UP =
0xAF
VK_VOLUME_MUTE =
0xAD
KEYEVENTF_KEYUP =
2

Instance Method Summary collapse

Instance Method Details

#hit_mute_keyObject



18
19
20
21
22
# File 'lib/muter.rb', line 18

def hit_mute_key
  # simulate pressing the mute key
  keybd_event(VK_VOLUME_MUTE, 0, 0, nil)
  keybd_event(VK_VOLUME_MUTE, 0, KEYEVENTF_KEYUP, nil)
end

#hit_volume_down_keyObject



29
30
31
32
# File 'lib/muter.rb', line 29

def hit_volume_down_key
  keybd_event(VK_VOLUME_DOWN, 0, 0, nil)
  keybd_event(VK_VOLUME_DOWN, 0, KEYEVENTF_KEYUP, nil)
end

#hit_volume_up_keyObject



24
25
26
27
# File 'lib/muter.rb', line 24

def hit_volume_up_key
  keybd_event(VK_VOLUME_UP, 0, 0, nil)
  keybd_event(VK_VOLUME_UP, 0, KEYEVENTF_KEYUP, nil)
end

#mute!Object



34
35
36
37
# File 'lib/muter.rb', line 34

def mute!
  #unmute! # just in case
  hit_mute_key
end

#unmute!Object

TODO better for doze 7…



40
41
42
43
44
# File 'lib/muter.rb', line 40

def unmute!
  hit_mute_key # Windows XP...
  hit_volume_down_key
  hit_volume_up_key
end