Можно ли преобразовать содержимое UIView в видео с помощью Replaykit?

Я сделал простую задачу записи полноэкранного режима с помощью ReplayKit:

import UIKit
import ReplayKit

class ViewController: UIViewController {

    @IBOutlet weak var containerView: UIView!
    @IBOutlet weak var movingView: UIView!
    
    let recorder = RPScreenRecorder.shared()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        movingView.transform = CGAffineTransform(scaleX: 1.5, y: 1.5)
        
        UIView.animate(withDuration: 0.5, delay: 0, options: [.autoreverse, .repeat], animations: {
            self.movingView.transform = .identity
        }, completion: nil)
    }

    @IBAction func startAction(_ sender: UIButton) {
        recorder.startRecording { (error) in
            if let error = error {
                print(error.localizedDescription)
            }
        }
    }
    @IBAction func stopAction(_ sender: UIButton) {
        recorder.stopRecording { [weak self] previewWC, error in
            if let previewVC = previewWC {
                previewVC.previewControllerDelegate = self
                self?.present(previewVC, animated: true)
            }
            
            if let error = error {
                print(error.localizedDescription)
            }
        }
    }
}

extension ViewController: RPPreviewViewControllerDelegate {
    func previewControllerDidFinish(_ previewController: RPPreviewViewController) {
        dismiss(animated: true)
    }
}

***Могу ли я как-то записать часть экрана? Я не нашел элегантного решения взять контент и преобразовать его в видео ***


person Sergey Borovkov    schedule 06.08.2020    source источник
comment
Вы можете использовать startCapture(handler:completionHandler:), изменить размер CMSampleBuffers и преобразовать CMSampleBuffer в видео с помощью это.   -  person Pranav Kasetti    schedule 06.08.2020