【问题标题】:Setting Mac OS X volume programmatically after 10.6 (Snow Leopard)在 10.6 (Snow Leopard) 之后以编程方式设置 Mac OS X 音量
【发布时间】:2014-07-31 23:54:38
【问题描述】:

有没有办法使用 Objective-C 设置 Mac 的系统音量?我尝试使用:

AudioDeviceSetProperty([[self class]defaultOutputDeviceID],
                       NULL, //time stamp not needed
                       0, //channel 0 is master channel
                       false,  //for an output device
                       kAudioDevicePropertyVolumeScalar,
                       sizeof(Float32),
                       &volume);

但在OS X 10.6(雪豹)之后已弃用;有一个更好的方法吗?还是我必须满足于申请量?

【问题讨论】:

    标签: objective-c macos cocoa audiotoolbox


    【解决方案1】:

    查看 AudioToolbox 中的音频硬件服务:

    下面是一些示例代码,假设上下文与您的其他代码相同:

    AudioObjectPropertyAddress propertyAddress = { 
        kAudioHardwareServiceDeviceProperty_VirtualMasterVolume, 
        kAudioDevicePropertyScopeOutput,
        kAudioObjectPropertyElementMaster 
    };
    
    AudioHardwareServiceSetPropertyData([self.class defaultOutputDeviceID], 
                                        &propertyAddress, 
                                        0, 
                                        NULL, 
                                        sizeof(Float32),
                                        &volume);
    

    【讨论】:

    猜你喜欢
    • 2010-11-24
    • 2010-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-23
    • 1970-01-01
    • 2013-07-15
    相关资源
    最近更新 更多