I need to enable speaker while calling from app. I can successfully enable it but I am not able to disable it.
I am using this method:
[[UIDevice currentDevice] setProximityMonitoringEnabled:NO];
NSLog(@"%d",enable);
UInt32 route;
route = enable ? kAudioSessionOverrideAudioRoute_Speaker :
kAudioSessionOverrideAudioRoute_None;
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,
sizeof(route), &route);
Thanks in advance.
Tap the round, highlighted Speaker button on your iPhone screen. This button has a picture of a speaker and says "Speaker" beneath it. By turning this off you will reduce the amplification of the sound from your iPhone speakers and return to normal phone mode.
AudioSessionSetProperty is Deprecated. https://developer.apple.com/library/ios/documentation/audiotoolbox/reference/audiosessionservicesreference/index.html#//apple_ref/c/func/AudioSessionSetProperty
- (void)setAudioOutputSpeaker:(BOOL)enabled
{
AVAudioSession *session = [AVAudioSession sharedInstance];
NSError *error;
[session setCategory:AVAudioSessionCategoryPlayAndRecord error:&error];
[session setMode:AVAudioSessionModeVoiceChat error:&error];
if (enabled) // Enable speaker
{
[session overrideOutputAudioPort:AVAudioSessionPortOverrideSpeaker error:&error];
}
else // Disable speaker
{
[session overrideOutputAudioPort:AVAudioSessionPortOverrideNone error:&error];
}
[session setActive:YES error:&error];
}
Swift 4 for Speaker Onn Off
//MARK:- Usage for Enable
self.setAudioOutputSpeaker(enabled: true)
//MARK:- Usage for Disable
self.setAudioOutputSpeaker(enabled: false)
//MARK:- Manual Speaker Enagle and Disable
func setAudioOutputSpeaker(enabled: Bool)
{
let session = AVAudioSession.sharedInstance()
var _: Error?
try? session.setCategory(AVAudioSessionCategoryPlayAndRecord)
try? session.setMode(AVAudioSessionModeVoiceChat)
if enabled {
try? session.overrideOutputAudioPort(AVAudioSessionPortOverride.speaker)
} else {
try? session.overrideOutputAudioPort(AVAudioSessionPortOverride.none)
}
try? session.setActive(true)
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With