Yes, this works if you are only using audio output. I am using the input and 
output at the same time. If you do this, then you are restricted to using the 
default input and output devices.

— Dominic

> On Sep 28, 2019, at 1:06 AM, Tamas Nagy <tamas.lov.n...@gmail.com> wrote:
> 
> Hi Dominic,
> 
> you can change the output to an AudioDeviceID on the AudioUnit of the 
> outputNode.
> 
>     OSStatus err = AudioUnitSetProperty([[audioEngine outputNode] audioUnit],
>                                         
> kAudioOutputUnitProperty_CurrentDevice,
>                                         kAudioUnitScope_Global,
>                                         0,
>                                         &deviceId,
>                                         sizeof(AudioDeviceID));
> 
> This works for us for years now.
> 
> Hope this helps.
> 
> Best,
> Tamas
> 
>> On 2019. Sep 28., at 2:56, Dominic Feira via Coreaudio-api 
>> <coreaudio-api@lists.apple.com <mailto:coreaudio-api@lists.apple.com>> wrote:
>> 
>> For the record, DTS has confirmed that everything I have posted below is 
>> correct. AVAudioEngine can only be used with the default input and output 
>> devices. The fact that AVAudioEngine ever shipped for the Mac like this at 
>> all says a lot.
>> 
>> — Dominic
>> 
>>> I have been working with AVAudioEngine. 
>>> 
>>> By default the AVAudioEngine is using an aggregate audio device with the 
>>> default input/output as the subdevices. This makes sense so the entire 
>>> engine can run on a single clock.
>>> 
>>> Is it possible to set the input and output devices to use something other 
>>> than the system?s default input and output?
>>> 
>>> From experimentation, if I set the input or output to anything other than 
>>> an aggregate device it fails. If I change the input and output to use the 
>>> same aggregate device (that I created with non-default devices), it works. 
>>> However any time the default output or input of the system changes, the 
>>> engine?s input/output are set back to the aggregate device set up by core 
>>> audio that uses the default input/output, basically overriding what I told 
>>> the engine to do.
>>> 
>>> I hope that I?m missing something obvious, but I think I have run into the 
>>> limits of this API. For an API that has been on the Mac for several years 
>>> it is very limited.
>> 
>> _______________________________________________
>> Do not post admin requests to the list. They will be ignored.
>> Coreaudio-api mailing list      (Coreaudio-api@lists.apple.com 
>> <mailto:Coreaudio-api@lists.apple.com>)
>> Help/Unsubscribe/Update your Subscription:
>> https://lists.apple.com/mailman/options/coreaudio-api/tamas.lov.nagy%40gmail.com
>>  
>> <https://lists.apple.com/mailman/options/coreaudio-api/tamas.lov.nagy%40gmail.com>
>> 
>> This email sent to tamas.lov.n...@gmail.com
> 

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list      (Coreaudio-api@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/coreaudio-api/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to