Skip to content

Instantly share code, notes, and snippets.

@suzp1984
Created November 24, 2019 23:38
Show Gist options
  • Save suzp1984/9a666d9b97c3a3648263d1bee5c58084 to your computer and use it in GitHub Desktop.
Save suzp1984/9a666d9b97c3a3648263d1bee5c58084 to your computer and use it in GitHub Desktop.
os x: How to listen default audio input device volume.
private lazy var audioInputVolumeListener: AudioObjectPropertyListenerBlock = {
return { _, _ in
// report self.getDefaultAudioInputVolume()
}
}()
private func listenDefaultAudioInputVolume() {
var audioVolumeAddr = AudioObjectPropertyAddress(
mSelector: kAudioHardwareServiceDeviceProperty_VirtualMasterVolume,
mScope: kAudioObjectPropertyScopeInput,
mElement: kAudioObjectPropertyElementMaster
)
guard let audioInputDevice = getDefaultAudioInputDevice() else {
return
}
let status = AudioObjectAddPropertyListenerBlock(AudioObjectID(audioInputDevice),
&audioVolumeAddr,
DispatchQueue.main,
audioInputVolumeListener)
if status != kAudioHardwareNoError {
return
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment