# Enumerating and recording from all inputs on iOS

**URL:** <https://qa.fmod.com/t/enumerating-and-recording-from-all-inputs-on-ios/14395>\
**Category:** FMOD Engine\
**Created:** [February 27, 2019, 5:43pm UTC](https://qa.fmod.com/t/enumerating-and-recording-from-all-inputs-on-ios/14395 "2019-02-27T17:43:52Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![r618](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/r618/32/36_2.png) [@r618](https://qa.fmod.com/u/r618)\
**Post date:** [February 27, 2019, 5:43pm UTC](https://qa.fmod.com/t/enumerating-and-recording-from-all-inputs-on-ios/14395/1 "2019-02-27T17:43:52Z")

</div>

Hi,

I’m using lowlevel API directly for enumerating all available inputs, and for recording from a chosen one  
(using `getRecordNumDrivers`/`getRecordDriverInfo` and `recordStart`)  
[EDIT: both num drivers and num connected drivers is reported as 1]

On iOS the detected input devices seem to differ from what e.g. AVFoundation’s AVAudioSessionCategory playAndRecord can see, however:

 ![iPhone%20X%20AVAudioSessionPodTest](https://canada1.discourse-cdn.com/flex036/uploads/fmod/original/1X/7d961570dd3e8d524712b984d290e1edd01cbd3b.jpeg)

(the screenshot is from a testing app which just sets any selected parameters for session activation, and records sample from selected input; sources are here: [AVAudioSessionPodTest](https://github.com/r618/AVAudioSessionPodTest))

On the same device, with the same headset attached, FMOD sees just one Core Audio device with name ‘Core Audio input’ (supposedly the default microphone):

 ![iPhone%20X%20FMOD%20Unity](https://canada1.discourse-cdn.com/flex036/uploads/fmod/original/1X/e0c089913d04ffe457c402a1874c799602eba398.jpeg)

[I’m using FMOD Unity Integrations]

Is there anything what could currently help to convince FMOD to be fully compatible with AVAudioSession (i.e. see all current category inputs and optionally set preferredInput for recording) ?

Note: I can augment FMOD capabilities for BT device to a degree by using `AVAudioSessionCategoryOptionAllowBluetooth`/`AVAudioSessionCategoryOptionAllowBluetoothA2DP` options for `setCategory` and activating the session prior to FMOD init - it _will_ record from connected BT device then - although the detected input driver would still be only single one and the same as above  
This would be but worthless in this case anyway since user has wire connected headset as per first screenshot.

Thank you!

---

<div class="post-metadata">

**Author:** ![cameron-fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/cameron-fmod/32/261_2.png) [@cameron-fmod](https://qa.fmod.com/u/cameron-fmod)\
**Post date:** [March 6, 2019, 4:20am UTC](https://qa.fmod.com/t/enumerating-and-recording-from-all-inputs-on-ios/14395/2 "2019-03-06T04:20:58Z")

</div>

On iOS, we are hard coded to just reporting one audio input device and we always choose the first available audio input device when starting recording.

Unfortunately with the current implementation there is no way to choose another input.

I can raise a task to change the way we handle this, and give the user more control over which device to use. Although I cannot speculate on a timeframe at this point.

---

<div class="post-metadata">

**Author:** ![r618](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/r618/32/36_2.png) [@r618](https://qa.fmod.com/u/r618)\
**Post date:** [March 6, 2019, 10:04am UTC](https://qa.fmod.com/t/enumerating-and-recording-from-all-inputs-on-ios/14395/3 "2019-03-06T10:04:56Z")

</div>

… suspected something like that  
hope one day it will be done, at least it’s clear it’s worth to look for alternative paths meanwhile  
Thanks for reply !
