如何在SWIFT中停止Tokbox屏幕共享

时间:2020-10-27 08:06:13

标签: swift opentok

我正在使用IOS应用程序(SWIFT)进行工作,其中我使用了Tokbox进行屏幕共享,我可以共享屏幕,但无法停止屏幕共享。

这是我用于屏幕共享的代码。

 publisher?.videoType = .screen
 publisher?.audioFallbackEnabled = false
 let cap = ScreenCapturer(withView:view)
 publisher?.videoCapture = cap
 session?.publish(publisher, error: &error)

任何人都可以迅速停止共享屏幕。

1 个答案:

答案 0 :(得分:0)

要停止屏幕共享,需要停止发布者的流式传输。为此,您可以致电:

[OTSession unpublish:error:]

更多信息,请访问Video API guides

对于您的情况,要将屏幕共享添加到现有呼叫中,则需要为屏幕共享创建其他发布者,而不是编辑现有发布者。要使用现有的发布者,将需要重新初始化发布者,以在发布摄像机供稿和将停止发布音频的屏幕之间进行切换。

除了创建新的发布者之外,您还需要为其他用户创建一个新的订阅者,您可以在subscriberDidConnect上的OTSubscriberDelegate委托函数中做到这一点。

此外,您将需要处理新发布者和订阅者的破坏。如果您已经在OTSessionDelegateOTPublisherDelegate上使用过,则将在委托函数中完成。

我创建了一个demo app来证明这种行为。