AVAudioSession与WKWebview混合

问题描述

我正在开发VoIP应用程序。为此,我将AVAudioSession的类别设置为AVAudioSessionCategoryPlayAndRecord

到目前为止,所有应用程序功能均正常运行。

然后我们有了一个新的要求,即在应用程序中,在进行语音通话时,用户可以播放WKWebView中嵌入的一个视频。

现在,当用户从WKWebView播放视频时,视频可以成功播放,并且视频量也符合预期。但是当用户停止/暂停视频时,语音通话就会断开。

所以我知道WKWebView的运行过程与应用程序不同,因此,为了使我的应用程序的音频与WKWebview可以混合,我必须将AVAudioSession设置为mixwithOthers。

我已经使用以下代码完成了该操作...

AVAudioSession *session = [AVAudioSession sharedInstance];
NSError *errorInSettingCategory;
BOOL success = [session setCategory:AVAudioSessionCategoryPlayAndRecord withOptions: AVAudioSessionCategoryOptionDefaultToSpeaker | AVAudioSessionCategoryOptionMixWithOthers | AVAudioSessionCategoryOptionAllowBluetooth error:&errorInSettingCategory];

现在播放完WKWebView视频表格后,我可以继续进行语音通话了。

但是这种方法引入了新的错误。

现在,AVAudioSession是可混合的,来自WKWebView的视频音量非常低,而应用程序的音频(语音通话音频)则占主导地位。

我尝试了不同的setcategory选项,但是没有运气。

我想使应用程序的音频量和WKWebView的视频量处于同一水平。

谢谢您的帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)