菜鸟教程小白 发表于 2022-12-12 15:05:57

ios - 当我的 iOS 应用程序在后台使用 ReplayKit 时进行屏幕录制


                                            <p><p>我已经尝试过广播扩展。我已经通过目标添加了该扩展。但是,我不知道如何记录我的应用程序何时处于后台。</p>

<p>我尝试记录的两种方式:</p>

<p><strong>通过控制中心:</strong>我可以看到我的应用程序的目标名称,选择该名称后,然后单击<code>开始广播</code>开始录制,然后单击<code>停止录制</code>,但我的视频没有存储在相机胶卷或我的应用程序中。 <code>引用链接</code>:<a href="https://stackoverflow.com/questions/52312814/replaykits-rpsystembroadcastpickerview-not-showing-preferredextension" rel="noreferrer noopener nofollow">ReplayKit&#39;s RPSystemBroadcastPickerView not showing preferredExtension</a> </p>

<p><strong>通过我的应用程序:</strong>一旦按下开始按钮,开始录制,我试图通过单击主页按钮从我的应用程序录制背景,显然录制已停止。 <code>引用链接</code>:<a href="https://medium.com/@giridharvc7/replaykit-screen-recording-8ee9a61dd762" rel="noreferrer noopener nofollow">https://medium.com/@giridharvc7/replaykit-screen-recording-8ee9a61dd762</a> .</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>当视频处于后台时,没有“直接”的方式将视频存储在您的应用中。 ReplayKit 版本 2 允许您在调用“广播上传扩展”的应用扩展中获取视频样本缓冲区片段。当您说“通过控制中心”时,这意味着您开始广播(而不是录制),同时 iOS 找到您的应用程序扩展(而不是您的应用程序)并启动它,然后开始向扩展发送视频样本缓冲区。在此步骤中,您需要决定如何处理这些缓冲区。 </p>

<p>我可以为您提出两种解决方案:</p>

<ul>
<li>您可以尝试将缓冲区传输到服务器(并在下载视频时
主应用程序将启动)</li>
<li>您可以尝试使用应用组将缓冲区保存到文件中(共享
此数据与主应用程序),您可以找到示例
<a href="https://stackoverflow.com/questions/46903118/saving-video-from-cmsamplebuffer-while-streaming-using-replaykit?rq=1" rel="noreferrer noopener nofollow">here</a> .</li>
</ul>

<p>但是您需要知道广播扩展是为缓冲区传输而设计的,而不是存储或重新渲染或压缩或重新编码缓冲区。扩展基于 CPU 时间和内存使用 (±50 MB) 有很多限制,你可以尝试在那里做任何事情,但如果它是“重”操作 iOS 将关闭扩展。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 当我的 iOS 应用程序在后台使用 ReplayKit 时进行屏幕录制,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/54485367/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/54485367/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 当我的 iOS 应用程序在后台使用 ReplayKit 时进行屏幕录制