2

Core Audio でシステムの音量レベルを取得および設定できるようにしたいと考えています。私はこの別のスレッドのコードをたどりました: objective c audio meter

ただし、プロパティAudioHardwareServiceHasPropertyを検索するための呼び出しkAudioHardwareServiceDeviceProperty_VirtualMasterVolumeは false を返します。なぜこれが起こっているのですか、どうすれば回避できますか? Core Audio でシステム ボリューム レベルを取得および設定するには、どのようなアプローチを取る必要がありますか?

4

1 に答える 1

3

kAudioDevicePropertyVolumeScalar を試しましたか:

UInt32 channel = 1; // Channel 0  is master, if available
AudioObjectPropertyAddress prop = { 
    kAudioDevicePropertyVolumeScalar, 
    kAudioDevicePropertyScopeOutput,
    channel 
};

if(!AudioObjectHasProperty(deviceID, &prop))
    // error

Float32 volume;
UInt32 dataSize = sizeof(volume);
OSStatus result = AudioObjectGetPropertyData(deviceID, &prop, 0, NULL, &dataSize, &volume);

if(kAudioHardwareNoError != result)
    // error
于 2012-12-27T06:26:09.417 に答える