我正在 iOS 中使用我自己的自定义 SampleHandler
扩展 RPBroadcastSampleHandler
来实现广播上传扩展。问题很简单 - 我需要一种方法来从扩展中优雅地结束广播。
要求是当所有其他用户停止观看广播时停止广播并关闭屏幕录制。我可以很容易地发现这种情况。然而,RPBroadcastSampleHandler 似乎没有提供完成它的方法,至少不是一个优雅的方法。
基于official documentation ,有一个broadcastFinished()
广播完成时的回调(当用户结束它时),并且有一种方法可以在出现错误时完成它 - finishBroadcastWithError(_:)
。我可以提供一些不错的错误消息并以错误结束它,但我更愿意结束它而不显示任何错误 - 我不想表明存在任何错误,因为这是预期的行为。 p>
有人有办法实现这一目标吗?
最佳答案
您应该使用 Obj-C 代码来完成此操作。正如您在 Telegram Official repository 上看到的那样他们使用 BroadcastUploadHelpers 来优雅地停止 SampleHandler。
void finishBroadcastGracefully(RPBroadcastSampleHandler * _Nonnull broadcastSampleHandler) {
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wnonnull"
[broadcastSampleHandler finishBroadcastWithError:nil];
#pragma clang diagnostic pop
}
关于ios - 有没有办法从 RPBroadcastSampleHandler 中优雅地完成广播?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53669991/