我正在使用WebRTC在我的应用中处理音频视频通话。我在我的iOS项目中编译并添加了最新的WebRTC库。现在我面临与WebRTC API的线程相关的几个问题。
以下是通过我自己的服务器与其他用户建立的呼叫流程。
CreateChannel
类的VoEBase
方法。这用于创建音频通道。此成功块也使用全局队列在后台线程上运行。现在这里有问题,在接收会话ID后,当频道创建的方法被调用时app正在崩溃。我在调试模式下编译了库来获取日志。在日志中,它显示以下错误,
# Check failed: thread_checker_.CalledOnValidThread()
我在互联网上搜索了这个问题,我理解的是,我们应该从同一个线程调用语音引擎方法。在我的情况下,我调用初始化方法并使用全局队列从后台线程创建方法。但是全局队列有五个线程用于执行任务(我在Apple Docs中已经读过)。因此,无法保证这些方法将在与全局队列处理的相同线程上调用。
我需要解决这个问题。欢迎任何建议。提前致谢。