• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: AVAudioEngine input and output devices
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: AVAudioEngine input and output devices


  • Subject: Re: AVAudioEngine input and output devices
  • From: Dominic Feira via Coreaudio-api <email@hidden>
  • Date: Sat, 28 Sep 2019 16:53:01 -0400

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 <email@hidden> 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
>> <email@hidden <mailto:email@hidden>> 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      (email@hidden
>> <mailto: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

  • Follow-Ups:
    • Re: AVAudioEngine input and output devices
      • From: Arshia Cont via Coreaudio-api <email@hidden>
References: 
 >Re: AVAudioEngine input and output devices (From: Dominic Feira via Coreaudio-api <email@hidden>)
 >Re: AVAudioEngine input and output devices (From: Tamas Nagy via Coreaudio-api <email@hidden>)

  • Prev by Date: Re: AVAudioEngine input and output devices
  • Next by Date: Re: AVAudioEngine input and output devices
  • Previous by thread: Re: AVAudioEngine input and output devices
  • Next by thread: Re: AVAudioEngine input and output devices
  • Index(es):
    • Date
    • Thread