如何在应用程序通话期间播放声音

Shu*_*ang 5 iphone avaudioplayer ios avaudiosession

我想在iOS中使用VOYPI等应用程序中的相同功能.

在通话过程中播放背景音.

我在调用过程中使用了以下代码播放背景音.

参考应用程序的链接在这里.

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];
}
Run Code Online (Sandbox Code Playgroud)

此代码将使用avaudioplayer在正在进行的运营商呼叫中播放地面声音.

我已经设置了类别AVAudioSessionCategoryMultiRoute.

使用此类别接收器将能够在应用程序的持续运营商呼叫期间收听背景声音.

但是这有一个问题,它会在接收器端产生回声.

帮我这个代码.