iOS开发使用阿里云直播时,无法使用AudioServicesPlaySystemSound播放音频
- 场景描述:集成阿里云直播SDK,在开始直播前,使用AudioServicesPlaySystemSound播放本地音频,可以正常播放。但是在直播的时候,使用AudioServicesPlaySystemSound播放本地音频,无法播放。
- 原因分析:阿里云直播SDK与AudioServicesPlaySystemSound有冲突
- 解决办法:使用AVAudioPlayer播放本地音频
//播放外部音效 //初始化音频配置 - (void)setupAudioPlayerWithAudioName:(NSString *)audioName withAudioType:(NSString *)audioType { NSString *filePath = [[NSBundle mainBundle] pathForResource:audioName ofType:audioType]; NSURL *fileUrl = [NSURL URLWithString:filePath]; self.player = [[AVAudioPlayer alloc] initWithContentsOfURL:fileUrl error:nil]; self.player.volume = 1.0; [self.player prepareToPlay]; } //配置音频 - (void)playAudio { self.player.volume = 1.0; [self.player play]; // 配置AVAudioSession AVAudioSession *session = [AVAudioSession sharedInstance]; [session setMode:AVAudioSessionModeVideoChat error:nil]; [session overrideOutputAudioPort:AVAudioSessionPortOverrideSpeaker error:nil]; [session setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker|AVAudioSessionCategoryOptionAllowBluetooth | AVAudioSessionCategoryOptionMixWithOthers error:nil]; [session setActive:YES error:nil]; } //停止播放 - (void)stopAudio { if ([self.player isPlaying]) { [self.player stop]; } }