如何解决在发布者中出错(_:didFailWithError:) -> 1541 - 尝试发布时超时
我的应用要求是先测试音频和视频质量,然后开始视频通话。 网络测试正确完成。 当我开始实际通话时,我遇到了上述错误。并且无法将我的提要和音频发布给订阅者。 我认为问题可能在于破坏音频、视频会话。
发布者(_: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 举报,一经查实,本站将立刻删除。