【问题标题】:replayKit RPSampleBufferType does not have videoreplayKit RPSampleBufferType 没有视频
【发布时间】:2021-05-04 06:42:22
【问题描述】:

我正在使用 ReplayKit 来录制屏幕。但是,我对视频缓冲区有一个非常奇怪的问题。当用户点击录制按钮时,会调用以下方法;

       rpScreenRecorder.startCapture { (sampleBuffer, bufferType, error) in
        if let error = error {
            print(error.localizedDescription)
        }
        
        switch bufferType {
        case .video:
            print("video")
        case .audioApp:
            print("audioApp")
        case .audioMic:
            print("audioMic")
        @unknown default:
            print("default")
        }
    } completionHandler: { (error) in
        if let error = error {
            print(error.localizedDescription)
        }
    }

问题是,bufferType 没有视频。当我打印所有案例时,audioMic 和 audioApp 将永远返回,但永远不会返回视频。

只有在第一次启动时,当我删除应用程序并重新安装时,我才能轻松地重复此问题。它在其他情况下按预期工作。

p.s:在问这个问题之前,我查看了其他问题。他们都没有解决问题。

【问题讨论】:

    标签: ios swift replaykit


    【解决方案1】:

    我花了几天几夜解决这个问题,终于想出了一个解决方案。

    简单地说,原因是关于主窗口

    主窗口对于回放工具包很重要,因为它正在记录主窗口。

    我使用不同的窗口来隐藏录制视频中的一些视图。我还更改了主窗口的 windowLevel。今天,我注意到删除与主窗口相关的所有调整都解决了这个问题。 (其他窗口无效。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-09
      • 2018-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      相关资源
      最近更新 更多