问题描述
我的应用要求是先测试音频和视频质量,然后开始视频通话。 网络测试正确完成。 当我开始实际通话时,我遇到了上述错误。并且无法将我的提要和音频发布给订阅者。 我认为问题可能在于破坏音频、视频会话。
发布者(_:didFailWithError:)
1541 - 尝试发布时超时。
https://github.com/opentok/opentok-network-test/tree/master/iOS-Sample 如果我不使用网络测试类,我的应用就可以正常工作。
我已经在 opentok 版本 2.19.1、2.20.0 中尝试过
会话连接
func setupOpenTok() {
guard
let sessionID = sessionID,let token = token else {
return
}
connectToAnopenTokSession(withSessionID: sessionID,authToken: token)
}
func connectToAnopenTokSession(withSessionID sessionID: String,authToken: String) {
session = OTSession(apiKey: ADDConstants.OpenTOK.openTokAPIKey,sessionId: sessionID,delegate: self)
guard let session = session else { return }
session.connect(withToken: authToken,error: &error)
}
func sendPublisherView() {
let settings = OTPublisherSettings()
settings.name = UIDevice.current.name
settings.videoTrack = isAppointmentTypeVideo
if !isAppointmentTypeVideo {
let myAudioDevice = OTDefaultAudioDevice()
OTAudioDeviceManager.setAudioDevice(myAudioDevice)
}
guard let publisher = OTPublisher(delegate: self,settings: settings) else { return }
var error: OTError?
guard let session = session else { return }
publisher.publishAudio = true
publisher.publishVideo = isAppointmentTypeVideo
session.publish(publisher,error: &error)
self.publisher = publisher
guard error == nil else { return }
guard let publisherView = publisher.view else { return }
publisherView.isUserInteractionEnabled = true
publisherView.frame = publisherContainer.bounds
publisherContainer.addSubview(publisherView)
}
func fetchSubscriberView() {
print("fetchSubscriberView()")
guard let stream = stream else { return }
subscriber = OTSubscriber(stream: stream,delegate: self)
subscriber?.subscribetoAudio = true
subscriber?.subscribetoVideo = isAppointmentTypeVideo
guard let subscriber = subscriber else { return }
var error: OTError?
guard let session = session else { return }
session.subscribe(subscriber,error: &error)
guard error == nil else { return }
guard let subscriberView = subscriber.view else { return }
subscriberView.frame = UIScreen.main.bounds
view.insertSubview(subscriberView,at: 0)
view.bringSubviewToFront(publisherContainer)
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)