AWSLexAudioSession
Objective-C
@interface AWSLexAudioSession : NSObject
Swift
class AWSLexAudioSession : NSObject
Wrapper to AVAudioSession class. It auto-detects output source(Internal speaker or microphone) at runtime by listening to AVAudioSessionRouteChangeNotification.
-
Undocumented
Declaration
Objective-C
+ (instancetype)sharedInstance;
Swift
class func sharedInstance() -> Self
-
Set AVAudioSession category to AVAudioSessionCategoryPlayAndRecord
Declaration
Objective-C
- (void)setPlayAndRecordCategory:(NSError *_Nullable *_Nullable)outError;
Swift
func setPlayAndRecordCategory(_ outError: NSErrorPointer)
-
Override output audio port to AVAudioSessionPortOverrideSpeaker if headset is not detected.
Declaration
Objective-C
- (void)overrideOutputAudioPort:(NSError *_Nullable *_Nullable)outError;
Swift
func overrideOutputAudioPort(_ outError: NSErrorPointer)
-
Request record permission to AVAudioSession.
Declaration
Objective-C
- (void)requestRecordPermission:(nonnull void (^)(BOOL))response;
Swift
func requestRecordPermission(_ response: @escaping (Bool) -> Void)
-
Start observing for AVAudioSessionRouteChangeNotification if not already started.
Declaration
Objective-C
- (void)startObservingAudioSessionRouteChangeNotification;
Swift
func startObservingAudioSessionRouteChangeNotification()
-
Remove observing for AVAudioSessionRouteChangeNotification.
Declaration
Objective-C
- (void)endObservingAudioSessionRouteChangeNotification;
Swift
func endObservingAudioSessionRouteChangeNotification()