控制Snow Leopard中的OS X卷

时间:2011-03-12 22:52:31

标签: osx-snow-leopard core-audio

这是Controlling volume of running applications in Mac OS X via Objective-C的后续内容,它解释了如何设置10.5或更早版本的音量。 AudioXXXXXGetPropertyAudioXXXXXSetProperty(以及相关的)函数在每个Technical Note TN2223的10.6中弃用。

我不是OS X或CoreAudio编程方面的专家,所以我希望有人对Snow Leopard所需要的东西感到困惑,可以帮助我(以及其他人)。

1 个答案:

答案 0 :(得分:2)

以下是将音量设置为50%的示例:

Float32 volume = 0.5;
UInt32 size = sizeof(Float32);

AudioObjectPropertyAddress address = {
    kAudioDevicePropertyVolumeScalar,
    kAudioDevicePropertyScopeOutput,
    1 // use values 1 and 2 here, 0 (master) does not seem to work
};

OSStatus err;
err = AudioObjectSetPropertyData(device, &address, 0, NULL, size, &volume);