问题描述
我正在开发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 (将#修改为@)