ビデオのスナップショット画像を取得する

以下のコードでは、Publisherビデオの静止画像をキャプチャして表示し、それをメイン・ビューに追加して、その画像にUIImageオブジェクトを設定しています:

if let publisherView = publisher.view,
        let screenCapture = publisherView.snapshotView(afterScreenUpdates: true) {
    self.view.addSubview(screenCapture)
    UIGraphicsBeginImageContextWithOptions(publisherView.bounds.size, false, UIScreen.main.scale)
    view.drawHierarchy(in: publisherView.bounds, afterScreenUpdates: true)
    let image = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()
}

次のコードは、加入者ビデオの静止画像をキャプチャして表示し、それをメインビューに追加して、その画像に UIImage オブジェクトを設定します:

if let subscriberView = subscriber?.view,
        let screenCapture = subscriberView.snapshotView(afterScreenUpdates: true) {
    self.view.addSubview(screenCapture)
    UIGraphicsBeginImageContextWithOptions(subscriberView.bounds.size, false, UIScreen.main.scale)
    view.drawHierarchy(in: subscriberView.bounds, afterScreenUpdates: true)
    let image = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()
}