• 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: Tamas Nagy via Coreaudio-api <email@hidden>
  • Date: Sat, 28 Sep 2019 07:06:57 +0200

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> 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)
> 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: Dominic Feira via Coreaudio-api <email@hidden>
References: 
 >Re: AVAudioEngine input and output devices (From: Dominic Feira 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