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

How to stop tokbox screen sharing in SWIFT

我正在开发一个 IOS 应用程序 (SWIFT),我在其中使用了 tokbox 进行屏幕共享,我可以共享屏幕但无法停止屏幕共享。

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

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

任何人都可以指导在 swift 中停止屏幕共享。

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

[OTSession unpublish:error:]

更多信息可在 Video API guides

对于您要将屏幕共享添加到现有呼叫的情况,您将需要为屏幕共享创建一个额外的发布者,而不是编辑现有的发布者。要使用现有的发布器,需要重新初始化发布器,以便在发布摄像头源和屏幕之间切换,后者也会停止发布音频。

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

此外,您还需要处理新发布者和订阅者的销毁。如果您已经在 OTSessionDelegateOTPublisherDelegate.

上使用,这将在委托函数中完成

我创建了一个 demo app 来演示这种行为。