In the AudioDeviceSelectorComponent, whenever I choose the built-in mic of the macbook, and the built-in speakers, or any other audio card, the mic is consistently muted. However when I change the audio output to <> then I get a signal from the mic.
How can I control the mute/unmute of the microphone, programmatically, so that the user can choose the mute state ?
I believe the reason for this auto-mute behaviour is to prevent audio feedback loops, which are very common on laptops where the mic and speaker are close together… so be careful about this factor in your users’ case.
Check the Settings component for the device - if there is a “Feedback Loop:” label, its because JUCE has determined (getProcessorHasPotentialFeedbackLoop()) that there is a chance of blowing out your users ears and it is auto-muting the microphone in advance … you can override that behaviour, but have a look at the code of the SettingsComponent first, so you can see how it should be handled properly …
The goal of my question was that I was thinking the Mac was blocking the mic’s input in fear of feedback. But my issue, as my friend Jim Credland found out, was that I was calling audioDeviceManager.getCurrentAudioDevice()->start and that’s what caused the mic to fail.