我正在使用IOS应用程序(SWIFT)进行工作,其中我使用了Tokbox进行屏幕共享,我可以共享屏幕,但无法停止屏幕共享。
这是我用于屏幕共享的代码。
publisher?.videoType = .screen
publisher?.audioFallbackEnabled = false
let cap = ScreenCapturer(withView:view)
publisher?.videoCapture = cap
session?.publish(publisher, error: &error)
任何人都可以迅速停止共享屏幕。
答案 0 :(得分:0)
要停止屏幕共享,需要停止发布者的流式传输。为此,您可以致电:
[OTSession unpublish:error:]
更多信息,请访问Video API guides
对于您的情况,要将屏幕共享添加到现有呼叫中,则需要为屏幕共享创建其他发布者,而不是编辑现有发布者。要使用现有的发布者,将需要重新初始化发布者,以在发布摄像机供稿和将停止发布音频的屏幕之间进行切换。
除了创建新的发布者之外,您还需要为其他用户创建一个新的订阅者,您可以在subscriberDidConnect
上的OTSubscriberDelegate
委托函数中做到这一点。
此外,您将需要处理新发布者和订阅者的破坏。如果您已经在OTSessionDelegate
和OTPublisherDelegate
上使用过,则将在委托函数中完成。
我创建了一个demo app来证明这种行为。