OTAudioSessionManager Protocol Reference
| Conforms to | NSObject |
|---|---|
| Declared in | OTAudioKit.h |
Overview
Defines an audio session manager for use with calling services like CallKit. Implementation of this protocol is optional. Custom audio devices can implement these methods to manage the AVAudioSession. The default audio device in the SDK provides a working implementation.
For more information, see this documentation.
– enableCallingServicesMode
required method
Enables manual activation for the AVAudioSession.
- (void)enableCallingServicesModeDiscussion
This method prepares the SDK for integration with calling services like CallKit, enabling proper audio routing and session management.
The SDK manages the AVAudioSession configuration, while the application or CallKit is responsible for activating the session.
Note: Call this early in the app lifecycle, typically at launch or before starting any calls.
Declared In
OTAudioKit.h
– preconfigureAudioSessionForCallWithMode:
required method
Configures the audio session with the appropriate settings for a CallKit-based call.
- (void)preconfigureAudioSessionForCallWithMode:(AVAudioSessionMode _Nullable)modeParameters
mode |
The AVAudioSessionMode to apply during configuration.
In general, |
|---|
Discussion
This method sets up the AVAudioSession with settings optimized for the specified mode,
including audio category, mode, and routing configuration. However, it does not activate
the session. The session is configured in advance so it can be activated correctly when
triggered by a CallKit action.
Note: This method should be called prior to activating the session, typically in response to
CallKit’s CXAnswerCallAction or CXStartCallAction. This ensures proper configuration
for later activation by the system. See Apple Developer Forum for more details.
Declared In
OTAudioKit.h
– audioSessionDidActivate:
required method
Notifies the SDK that the audio session has been activated.
- (void)audioSessionDidActivate:(AVAudioSession *_Nonnull)sessionParameters
session |
The active |
|---|
Discussion
This method should be called when the system (for example, via CallKit) has activated the audio session. It informs the SDK that audio is now ready to be used and that the session is active.
Note: This method is only relevant when using OTAudioSessionManagerModeCallingServices.
If called in other modes, such as OTAudioSessionManagerModeVideoChat, it will
be ignored since the SDK handles audio session activation automatically.
Declared In
OTAudioKit.h
– audioSessionDidDeactivate:
required method
Notifies the SDK that the audio session has been deactivated.
- (void)audioSessionDidDeactivate:(AVAudioSession *_Nonnull)sessionParameters
session |
The |
|---|
Discussion
This method should be called when the system (for example, CallKit) has deactivated the audio session. It signals the SDK to release audio resources or update its internal state accordingly.
Note: This method is only relevant when using OTAudioSessionManagerModeCallingServices.
In modes such as OTAudioSessionManagerModeVideoChat, this call will be ignored,
as the SDK automatically manages the audio session lifecycle.
Declared In
OTAudioKit.h