在iOS中的WebRTC通话期间播放媒体文件

时间:2019-12-25 02:31:05

标签: ios swift webrtc

我的iOS应用程序使用WebRTC进行视频通话。 我想播放音频,视频文件,所以我使用了AVPlayerAVPlayerViewController。 我尝试了两种方法来执行此操作,每种解决方案都有如下不同的问题

解决方案1 ​​

拨打WebRTC时,我将应用程序的音频类别切换为AVAudioSessionCategoryPlayAndRecord,将音频模式切换为AVAudioSessionModeVideoChat

当我要播放媒体文件时,在执行播放之前,我将音频类别切换为AVAudioSessionCategoryPlayback,将音频模式切换为AVAudioSessionModeDefault。媒体播放完毕后,我将音频类别切换为AVAudioSessionCategoryPlayAndRecord,将音频模式切换为AVAudioSessionModeVideoChat

=>此解决方案的问题: 媒体播放完毕后,WebRTC本地媒体流的音频源消失,其他客户端不再听到该客户端的音频

解决方案2

拨打WebRTC时,我将应用程序的音频类别切换为AVAudioSessionCategoryMultiRoute,将音频模式切换为AVAudioSessionModeDefault

当我要播放媒体文件时,我不会更改音频类别和模式(保持使用AVAudioSessionCategoryMultiRouteAVAudioSessionModeDefault

=>此解决方案的问题: 媒体文件的音频音量很低,使用此类别时某些设备听不到WebRTC音频流

在WebRTC通话期间播放媒体文件的最佳方法是什么?

0 个答案:

没有答案