Mac下枚举扬声器列表

- (void)getAudioRenderDevices{
    AudioObjectPropertyAddress  propertyAddress;
    AudioObjectID              *deviceIDs;
    UInt32                      propertySize;
    NSInteger                  numDevices;

    propertyAddress.mSelector = kAudioHardwarePropertyDevices;
    propertyAddress.mScope = kAudioObjectPropertyScopeGlobal;
    propertyAddress.mElement = kAudioObjectPropertyElementMaster;
    if (AudioObjectGetPropertyDataSize(kAudioObjectSystemObject, &propertyAddress, 0, NULL, &propertySize) == noErr) {
        numDevices = propertySize / sizeof(AudioDeviceID);
        deviceIDs = (AudioDeviceID *)calloc(numDevices, sizeof(AudioDeviceID));

        if (AudioObjectGetPropertyData(kAudioObjectSystemObject, &propertyAddress, 0, NULL, &propertySize, deviceIDs) == noErr) {
            AudioObjectPropertyAddress      deviceAddress;
            char                            deviceName[64];

            for (NSInteger idx=0; idx

你可能感兴趣的:(Mac下枚举扬声器列表)