diff --git a/src/volume/coreAudio.go b/src/volume/coreAudio.go index a327259..e98cc7c 100644 --- a/src/volume/coreAudio.go +++ b/src/volume/coreAudio.go @@ -2,8 +2,9 @@ package volume /* #cgo CFLAGS: -x objective-c - #cgo LDFLAGS: -framework CoreAudio + #cgo LDFLAGS: -framework CoreAudio -framework AudioToolbox #include + #include */ import "C" import ( @@ -43,10 +44,17 @@ func GetDefaultOutputDevice() (AudioObjectID, OSStatus) { func GetVolume(objectID AudioObjectID) (float32, OSStatus) { properties := C.AudioObjectPropertyAddress{ - C.kAudioDevicePropertyVolumeScalar, + C.kAudioHardwareServiceDeviceProperty_VirtualMainVolume, C.kAudioDevicePropertyScopeOutput, - 0, //main channel + C.kAudioObjectPropertyElementMain, } + /* + properties := C.AudioObjectPropertyAddress{ + C.kAudioDevicePropertyVolumeScalar, + C.kAudioDevicePropertyScopeOutput, + 0, //main channel + } + */ var data C.Float32 dataSize := C.UInt32(unsafe.Sizeof(data)) @@ -66,10 +74,17 @@ func GetVolume(objectID AudioObjectID) (float32, OSStatus) { func SetVolume(objectID AudioObjectID, volume float32) OSStatus { properties := C.AudioObjectPropertyAddress{ - C.kAudioDevicePropertyVolumeScalar, + C.kAudioHardwareServiceDeviceProperty_VirtualMainVolume, C.kAudioDevicePropertyScopeOutput, - 0, //main channel + C.kAudioObjectPropertyElementMain, } + /* + properties := C.AudioObjectPropertyAddress{ + C.kAudioDevicePropertyVolumeScalar, + C.kAudioDevicePropertyScopeOutput, + 0, //main channel + } + */ data := C.Float32(volume)