diff --git a/modules/juce_audio_devices/native/juce_ios_Audio.cpp b/modules/juce_audio_devices/native/juce_ios_Audio.cpp index 08a10add7f..ab3224afdd 100644 --- a/modules/juce_audio_devices/native/juce_ios_Audio.cpp +++ b/modules/juce_audio_devices/native/juce_ios_Audio.cpp @@ -25,7 +25,13 @@ namespace juce class iOSAudioIODevice; -static const char* const iOSAudioDeviceName = "iOS Audio"; +constexpr const char* const iOSAudioDeviceName = "iOS Audio"; + +#ifndef JUCE_IOS_AUDIO_EXPLICIT_SAMPLERATES + #define JUCE_IOS_AUDIO_EXPLICIT_SAMPLERATES +#endif + +constexpr std::initializer_list iOSExplicitSampleRates { JUCE_IOS_AUDIO_EXPLICIT_SAMPLERATES }; //============================================================================== struct AudioSessionHolder @@ -356,6 +362,12 @@ struct iOSAudioIODevice::Pimpl : public AudioPlayHead, // depending on whether the headphones are plugged in or not! void updateAvailableSampleRates() { + if (iOSExplicitSampleRates.size() != 0) + { + availableSampleRates = Array (iOSExplicitSampleRates); + return; + } + availableSampleRates.clear(); AudioUnitRemovePropertyListenerWithUserData (audioUnit,