Как да настроя/получа силата на звука с Core Audio?

Искам да мога да получа и задавам нивото на звука на системата с Core Audio. Следвам кода в тази друга нишка: objective c audio meter

Обаче моето извикване към AudioHardwareServiceHasProperty за намиране на свойството kAudioHardwareServiceDeviceProperty_VirtualMasterVolume връща false. Защо се случва това и как да го заобиколя? Какъв подход трябва да предприема, за да получа и настройвам нивото на звука на системата с Core Audio?


person flutillie    schedule 04.11.2012    source източник


Отговори (1)


Опитвали ли сте 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
person Timur Sadykov    schedule 27.12.2012