我想在iOS中使用与VOYPI相同的功能。
在通话过程中播放背景声音。
我在调用期间使用以下代码播放背景音。
参考应用的链接是here。
NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:self.bgAudioFileName ofType: @"mp3"];
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath:soundFilePath ];
myAudioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:nil];
myAudioPlayer.numberOfLoops = -1;
NSError *sessionError = nil;
// Change the default output audio route
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
// get your audio session somehow
[audioSession setCategory:AVAudioSessionCategoryMultiRoute error:&sessionError];
BOOL success= [audioSession overrideOutputAudioPort:AVAudioSessionPortOverrideNone error:&sessionError];
[audioSession setActive:YES error:&sessionError];
if(!success)
{
NSLog(@"error doing outputaudioportoverride - %@", [sessionError localizedDescription]);
}
[myAudioPlayer setVolume:1.0f];
[myAudioPlayer play];
}
此代码将使用avaudioplayer在正在进行的运营商呼叫中播放地面声音。
我已设置类别AVAudioSessionCategoryMultiRoute。
使用此类别的接收器将能够在应用程序正在进行的运营商呼叫期间收听背景声音。
但这有一个问题,它会在接收方产生回声。
在此代码中帮助我。