我尝试了广播扩展。我已经通过target添加了该扩展名。但是,我不知道如何在我的应用程序处于后台时进行记录。
我尝试记录的两种方法:
通过控制中心:选择该名称后,我可以看到我应用的目标名称,然后单击Start Broadcast
,然后单击Stop Record
开始记录,但是我的视频没有存储在Camera Roll或我的应用程序中。 Ref Link
:ReplayKit's RPSystemBroadcastPickerView not showing preferredExtension
通过我的应用程序:按开始按钮开始录制后,我正尝试通过单击主屏幕按钮来录制我的应用程序的背景,显然录制已停止。 Ref Link
:https://medium.com/@giridharvc7/replaykit-screen-recording-8ee9a61dd762。
答案 0 :(得分:3)
在后台运行视频时,没有“直接”方式将视频存储在您的应用程序中。 ReplayKit版本2允许您在名为“广播上载扩展”的应用扩展中获取视频样本缓冲区。当您说“通过控制中心”时,它意味着您开始广播(而不是录制),同时iOS找到您的应用程序扩展名(而不是您的应用程序)并启动它,然后开始将视频样本缓冲区发送到扩展名。在此步骤中,您需要决定如何处理这些缓冲区。
我可以为您提供两种解决方案:
但是您需要知道广播扩展是为缓冲区传输而设计的,而不是用于存储或重新渲染或压缩或重新编码缓冲区。扩展程序有很多限制,取决于CPU时间和内存使用情况(±50 MB),您可以在那里尝试执行任何操作,但是如果操作繁重,iOS将关闭扩展程序。