AVAudioSession configuration when using Wwise
Learn how to configure AVAudioSession when using Wwise.
Read time 1 minuteLast updated 2 days ago
If WWise is not configured correctly on iOS, Vivox and WWise can disagree on the configuration of
AVAudioSessionAVAudioSessionAt game initialization
Configure WWise to ensure theAVAudioSessionAkAudioSessionCategoryOptionDefaultToSpeakerAkAudioSessionCategoryOptionAllowBluetoothAkPlatformInitSettings platformInitSettings;AK::SoundEngine::GetDefaultPlatformInitSettings(platformInitSettings);platformInitSettings.audioSession.eCategory = AkAudioSessionCategory::AkAudioSessionCategoryPlayback;platformInitSettings.audioSession.eMode = AkAudioSessionMode::AkAudioSessionModeDefault;platformInitSettings.audioSession.eCategoryOptions = (AkAudioSessionCategoryOptions)(AkAudioSessionCategoryOptions::AkAudioSessionCategoryOptionDefaultToSpeaker | AkAudioSessionCategoryOptions::AkAudioSessionCategoryOptionAllowBluetooth);AK::SoundEngine::iOS::ChangeAudioSessionProperties(platformInitSettings.audioSession);
Before a channel join
Before joining a Vivox channel, configure WWise to prepare itsAVAudioSessionAkPlatformInitSettings platformInitSettings;AK::SoundEngine::GetDefaultPlatformInitSettings(platformInitSettings);platformInitSettings.audioSession.eCategory = AkAudioSessionCategory::AkAudioSessionCategoryPlayAndRecord;platformInitSettings.audioSession.eMode = AkAudioSessionMode::AkAudioSessionModeVoiceChat;platformInitSettings.audioSession.eCategoryOptions = (AkAudioSessionCategoryOptions)(AkAudioSessionCategoryOptions::AkAudioSessionCategoryOptionDefaultToSpeaker | AkAudioSessionCategoryOptions::AkAudioSessionCategoryOptionAllowBluetooth);AK::SoundEngine::iOS::ChangeAudioSessionProperties(platformInitSettings.audioSession);
After leaving a channel
After leaving a channel, reconfigure theAVAudioSessionAkPlatformInitSettings platformInitSettings;AK::SoundEngine::GetDefaultPlatformInitSettings(platformInitSettings);platformInitSettings.audioSession.eCategory = AkAudioSessionCategory::AkAudioSessionCategoryPlayback;platformInitSettings.audioSession.eMode = AkAudioSessionMode::AkAudioSessionModeDefault;platformInitSettings.audioSession.eCategoryOptions = (AkAudioSessionCategoryOptions)(AkAudioSessionCategoryOptions::AkAudioSessionCategoryOptionDefaultToSpeaker | AkAudioSessionCategoryOptions::AkAudioSessionCategoryOptionAllowBluetooth);AK::SoundEngine::iOS::ChangeAudioSessionProperties(platformInitSettings.audioSession);