首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在没有ReplayKit 2的情况下以编程方式停止ReplayKit 2系统的广播

如何在没有ReplayKit 2的情况下以编程方式停止ReplayKit 2系统的广播
EN

Stack Overflow用户
提问于 2020-08-13 06:27:09
回答 1查看 1.2K关注 0票数 4

我正在尝试实现一个广播上传扩展,我希望用户能够点击我的应用程序中的一个按钮来停止广播。

据我从文档中得知,停止系统广播的唯一方法是:

  • ShowRPSystemBroadcastPickerView在应用程序中,当用户单击它时,他们被带到系统UI并停止广播。
  • 通过其他方式向广播分机发送信号,并调用RPBroadcastSampleHandler中的finishBroadcastWithError,这将显示用户弹出一个错误。这似乎是Zoom使用的伎俩。--

然而,我今天在上尝试了屏幕共享功能,他们以某种方式绕过了系统UI (只停止流)。当我单击“停止”按钮时,屏幕共享立即停止,不会显示系统UI或错误弹出

他们是怎么做到的?我的最佳猜测是,他们以某种方式获得了一个有效的RPBroadcastController对象,但我不知道如何实现。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-13 20:06:10

最后弄明白了。

基本上,只需将nil传递给finishBroadcastWithError即可。它会抛出一个警告,因为错误是不可空的,但是您可以使用以下方法使其安静下来:

代码语言:javascript
复制
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wnonnull"
    [self finishBroadcastWithError:nil];
#pragma clang diagnostic pop
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63389328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档