This seems to be working, in that I can create an aggregate device with no
errors. Also, I didn't need to use kAudioHardwarePropertyDeviceForUID, as
when I use the plugin to create the device, the output data of the call to
AudioObjectGetPropertyData already contains the new AudioDeviceID.
But, I have a problem. The AggregateDevice I have created does not seem to
be enabled for output, or something. Is there something I need to do to it
to enable output once it is created?
I'm actually trying to use this aggregate device with QuickTime, assigned
via an AudioContext (this bit also seems to be working without error). When
I start playback to the device via QuickTime, no audio comes out. When I
stop the movie in QuickTime, I get a spinning beachball for a few seconds,
and then when I start the movie again, I get audio. Have I missed something
I should be doing in advance?
I've also noticed that when I make this Aggregate Device public, and view it
in Audio MIDI Setup, the Audio Output area says "Output is not supported",
and likewise for input. If I click on "Configure Device", then no devices
are selected to be in the Aggregate Device. Is this significant? I don't
actually want my aggregate device to be public - I was just trying this as a
Any help much appreciated!
> From: Jeff Moore <email@hidden>
> Date: Mon, 25 Jul 2005 12:55:13 -0700
> To: CoreAudio API <email@hidden>
> Subject: Re: Creating Aggregate Devices programmatically
> Creating a new aggregate device requires using the new AudioObject
> APIs in Tiger and goes something like this:
> 1) Locate the base plug-in using
> kAudioHardwarePropertyPlugInForBundleID. It has a bundle ID of
> 2) Create a CFDictionary that describes the aggregate device you want
> to create. The keys for the dictionary are in the Aggregate Device
> section of <CoreAudio/AudioHardware.h>. Be sure to create a unique UID.
> 3) Tell the base plug-in to create the aggregate device using
> 4) Presuming success, use kAudioHardwarePropertyDeviceForUID to get
> the AudioDeviceID of the newly created aggregate device.
> That's pretty much it. Let me know if you have any specific questions
> about the process.
> On Jul 23, 2005, at 4:54 PM, Dave Addey wrote:
>> Hi all,
>> Does anyone have any sample code showing how to create an aggregate
>> device entirely programmatically? Or is there some particular
>> documentation I should be looking at? Any ideas much appreciated :-)
> Jeff Moore
> Core Audio
> Do not post admin requests to the list. They will be ignored.
> Coreaudio-api mailing list (email@hidden)
> Help/Unsubscribe/Update your Subscription:
> This email sent to email@hidden
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden