Closes issue #277 - Fixed speakerphone bug.

//FREEBIE
Reviewed-by: @corbett & @FredericJacobs
pull/1/head
Jack Rogers 10 years ago committed by Frederic Jacobs
parent 4f506e670e
commit 84dbc6a45b

@ -25,6 +25,7 @@ enum AudioProfile {
-(void) setAudioProfile:(enum AudioProfile) profile; -(void) setAudioProfile:(enum AudioProfile) profile;
-(enum AudioProfile) getCurrentAudioProfile; -(enum AudioProfile) getCurrentAudioProfile;
-(void) updateAudioRouter;
-(void) respondToProgressChange:(enum CallProgressType) progressType forLocallyInitiatedCall:(BOOL) initiatedLocally; -(void) respondToProgressChange:(enum CallProgressType) progressType forLocallyInitiatedCall:(BOOL) initiatedLocally;
-(void) respondToTerminationType:(enum CallTerminationType) terminationType; -(void) respondToTerminationType:(enum CallTerminationType) terminationType;
@ -33,8 +34,8 @@ enum AudioProfile {
-(void) cancellAllAudio; -(void) cancellAllAudio;
-(void) requestRequiredPermissionsIfNeeded; -(void) requestRequiredPermissionsIfNeeded;
-(BOOL) requestRecordingPrivlege; -(BOOL) requestRecordingPrivilege;
-(BOOL) releaseRecordingPrivlege; -(BOOL) releaseRecordingPrivilege;
-(BOOL) setAudioEnabled:(BOOL) enable; -(BOOL) setAudioEnabled:(BOOL) enable;
-(void) awake; -(void) awake;

@ -152,11 +152,11 @@ AppAudioManager* sharedAppAudioManager;
[_soundPlayer stopAllAudio]; [_soundPlayer stopAllAudio];
} }
-(BOOL) requestRecordingPrivlege { -(BOOL) requestRecordingPrivilege {
return [self changeAudioSessionCategoryTo:RECORDING_CATEGORY]; return [self changeAudioSessionCategoryTo:RECORDING_CATEGORY];
} }
-(BOOL) releaseRecordingPrivlege{ -(BOOL) releaseRecordingPrivilege{
return [self changeAudioSessionCategoryTo:DEFAULT_CATEGORY]; return [self changeAudioSessionCategoryTo:DEFAULT_CATEGORY];
} }

@ -47,13 +47,14 @@ static bool doesActiveInstanceExist;
} }
-(void)setupAudio { -(void)setupAudio {
[AppAudioManager.sharedInstance requestRecordingPrivlege]; [AppAudioManager.sharedInstance requestRecordingPrivilege];
rioAudioUnit = [self makeAudioUnit]; rioAudioUnit = [self makeAudioUnit];
[self setAudioEnabled]; [self setAudioEnabled];
[self setAudioStreamFormat]; [self setAudioStreamFormat];
[self setAudioCallbacks]; [self setAudioCallbacks];
[self unsetAudioShouldAllocateBuffer]; [self unsetAudioShouldAllocateBuffer];
[self checkDone:AudioUnitInitialize(rioAudioUnit)]; [self checkDone:AudioUnitInitialize(rioAudioUnit)];
[[AppAudioManager sharedInstance] updateAudioRouter];
} }
-(AudioUnit)makeAudioUnit { -(AudioUnit)makeAudioUnit {
AudioComponentDescription audioUnitDescription = [self makeAudioComponentDescription]; AudioComponentDescription audioUnitDescription = [self makeAudioComponentDescription];
@ -177,7 +178,7 @@ static bool doesActiveInstanceExist;
state = TERMINATED; state = TERMINATED;
doesActiveInstanceExist = false; doesActiveInstanceExist = false;
[self checkDone:AudioOutputUnitStop(rioAudioUnit)]; [self checkDone:AudioOutputUnitStop(rioAudioUnit)];
[AppAudioManager.sharedInstance releaseRecordingPrivlege]; [AppAudioManager.sharedInstance releaseRecordingPrivilege];
[unusedBuffers removeAllObjects]; [unusedBuffers removeAllObjects];
} }
}]; }];

Loading…
Cancel
Save