Hi. I’m having a little trouble detecting an external microphone through FMOD for a Unity project when building for Xbox One. When playing, the game doesn’t register any mic input, nor does it seem to detect the mic’s presence. For all other platforms (PC, Android, IOS, Switch) my game seems to detect a mic perfectly well. In my RuntimeManager, I have
advancedSettings.maxXMACodecs = realChannels
(my FMOD library is also set to XMA) and my FMOD.OUTPUTTYPE is defaulted to AUTODETECT (it seems to default to WINAPI).
When calling the following line in code while the game is running on the Xbox One:
Debug.Log(string.Format(“Recording from {0} ({1}, {2}), sample rate = {3}, state={4}”, inputDriverName, m_InputDriverId, inputDriverGuid, m_SampleRate, inputDriverState));
I get this message:
Recording from Kinect (0, 001d0054-00e7-0013-4c00-4c000c00d400), sample rate = 16000, state=CONNECTED, DEFAULT
Which is odd, because the Kinect is unplugged from the console. I only have the headset plugged in.
An example of the above line working (on PC) is as follows:
Input driver 0: Microphone (Pro C920) (765b9694-d308-4b69-942b-978e654777e6), sampleRate=16000, STEREO (2 channels) – CONNECTED, DEFAULT (connected? True)
Calling this line:
FMODUnity.RuntimeManager.CoreSystem.getNumDrivers(out num);
returns just the number 1.
Also, “Microphone.devices” returns null.
I made sure to include this line in the “AppXManifest.xml”:
<DeviceCapability Name=“microphone” />
I’ve already gone ahead and imported the Xbox One plugin for FMOD. I’ve read through both FMOD, Unity, and Xbox One’s documentation and there doesn’t appear to be any info on this exact subject. Is there anything I’m missing here? An extra plugin to install or setting to configure?
Please let me know if you’d like code segments or any more information. I appreciate any assistance on this matter. Cheers!