Revert "revert WebRTC related changes to AppAudioManager"

This reverts commit 6b4dedfefe.
pull/1/head
Matthew Chen 9 years ago
parent 8b45ac2233
commit 2216dc8d37

@ -14,6 +14,8 @@
@import AVFoundation;
NS_ASSUME_NONNULL_BEGIN
@interface AppAudioManager : NSObject <SoundPlayerDelegate>
enum AudioProfile {
@ -31,7 +33,9 @@ enum AudioProfile {
- (void)respondToTerminationType:(enum CallTerminationType)terminationType;
- (BOOL)toggleSpeakerPhone;
- (void)cancellAllAudio;
- (void)toggleSpeakerPhoneIsEnabled:(BOOL)enabled NS_SWIFT_NAME(toggleSpeakerPhone(isEnabled:));
- (void)cancelAllAudio;
- (void)requestRequiredPermissionsIfNeededWithCompletion:(PermissionBlock)permissionBlock incoming:(BOOL)isIncoming;
- (BOOL)requestRecordingPrivilege;
@ -42,4 +46,9 @@ enum AudioProfile {
- (void)didCompleteSoundInstanceOfType:(SoundInstanceType)instanceType;
- (void)handleInboundRing;
- (void)setDefaultAudioProfile;
@end
NS_ASSUME_NONNULL_END

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

@ -61,7 +61,7 @@
[super viewWillDisappear:animated];
[self stopRingingAnimation];
[self stopConnectingFlashAnimation];
[AppAudioManager.sharedInstance cancellAllAudio];
[AppAudioManager.sharedInstance cancelAllAudio];
[UIDevice.currentDevice setProximityMonitoringEnabled:NO];
}

Loading…
Cancel
Save