【问题标题】:Controlling OS X volume in Snow Leopard在 Snow Leopard 中控制 OS X 音量
【发布时间】:2011-03-12 22:52:31
【问题描述】:

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

我不是 OS X 或 CoreAudio 编程方面的专家,所以我希望有人已经了解了 Snow Leopard 的要求,并可以帮助我(和其他人)。

【问题讨论】:

  • @drcosta - 自己弄清楚总是一个加分项,但请将其发布为您问题的答案(并接受它)而不是编辑。这样一来,寻找类似解决方案的人就不会在注意到没有可接受的答案后跳过此页面。
  • 哦,我没有意识到现在让你接受你自己的答案。 (至少,我记得在过去的某个时候你不能)。

标签: osx-snow-leopard core-audio


【解决方案1】:

以下是将音量设置为 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);

【讨论】:

    猜你喜欢
    • 2011-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-23
    • 1970-01-01
    • 2010-11-24
    • 2010-11-30
    相关资源
    最近更新 更多