@ -3,7 +3,6 @@
#import "AudioRouter . h "
#import "SoundBoard . h "
NS_ASSUME_NONNULL_BEGIN
#define DEFAULT_CATEGORY AVAudioSessionCategorySoloAmbient
#define RECORDING_CATEGORY AVAudioSessionCategoryPlayAndRecord
@ -35,8 +34,8 @@ AppAudioManager *sharedAppAudioManager;
#pragma mark AudioState Management
- ( void ) setAudioProfile : ( enum AudioProfile ) profile {
_audioProfile = profile ;
[ self updateAudioRouter ] ;
_audioProfile = profile ;
}
- ( void ) updateAudioRouter {
@ -56,6 +55,17 @@ AppAudioManager *sharedAppAudioManager;
}
}
- ( void ) overrideAudioProfile {
isSpeakerphoneActive = YES ;
[ self updateAudioRouter ] ;
}
- ( void ) resetOverride {
isSpeakerphoneActive = NO ;
[ self updateAudioRouter ] ;
}
- ( enum AudioProfile ) getCurrentAudioProfile {
return ( isSpeakerphoneActive ) ? AudioProfile_ExternalSpeaker : _audioProfile ;
}
@ -100,33 +110,24 @@ AppAudioManager *sharedAppAudioManager;
}
- ( void ) handleInboundRing {
[ self setAudioProfile : AudioProfile_ExternalSpeaker ] ;
[ _soundPlayer playSound : [ SoundBoard instanceOfInboundRingtone ] ] ;
}
- ( void ) handleOutboundRing {
[ self set DefaultAudioProfile ] ;
[ self set AudioProfile: AudioProfile_Default ] ;
[ _soundPlayer playSound : [ SoundBoard instanceOfOutboundRingtone ] ] ;
}
- ( void ) handleSecuring {
[ _soundPlayer stopAllAudio ] ;
[ self set DefaultAudioProfile ] ;
[ self set AudioProfile: AudioProfile_Default ] ;
[ _soundPlayer playSound : [ SoundBoard instanceOfHandshakeSound ] ] ;
}
- ( void ) handleCallEstablished {
[ _soundPlayer stopAllAudio ] ;
[ self setDefaultAudioProfile ] ;
[ _soundPlayer playSound : [ SoundBoard instanceOfCompletedSound ] ] ;
}
/ * *
* Route traffic through internal speaker , unless speakerphone is enabled .
* /
- ( void ) setDefaultAudioProfile
{
[ self setAudioProfile : AudioProfile_Default ] ;
[ _soundPlayer playSound : [ SoundBoard instanceOfCompletedSound ] ] ;
}
- ( BOOL ) toggleSpeakerPhone {
@ -136,17 +137,9 @@ AppAudioManager *sharedAppAudioManager;
return isSpeakerphoneActive ;
}
- ( void ) toggleSpeakerPhoneIsEnabled : ( BOOL ) enabled
{
DDLogInfo ( @ "%@ Toggled speaker phone: %@", self.tag, enabled ? @"ON" : @"OFF");
isSpeakerphoneActive = enabled ;
[ self updateAudioRouter ] ;
}
#pragma mark Audio Control
- ( void ) cancelAllAudio
{
- ( void ) cancellAllAudio {
[ _soundPlayer stopAllAudio ] ;
}
@ -203,8 +196,7 @@ AppAudioManager *sharedAppAudioManager;
return ( nil != e ) ;
}
- ( void ) awake
{
- ( void ) awake {
[ _soundPlayer awake ] ;
}
@ -217,18 +209,5 @@ AppAudioManager *sharedAppAudioManager;
}
}
#pragma mark - Logging
+ ( NSString * ) tag
{
return [ NSString stringWithFormat : @ "[ %@]", self.class];
}
- ( NSString * ) tag
{
return self . class . tag ;
}
@ end
NS_ASSUME_NONNULL_END