私はサブビューがカメラセッション(AVFoundationセッション)であるビューのスクリーンショットを撮る必要があるアプリケーションをビルドしています。私はUIGetScreenImage()
とプライベートメソッドを試してみたサブビューがカメラセッションであるUIViewのスクリーンショットを撮る
:効果的にカメラのセッションは黒のみという、景色を眺めながら私にUIImageを取得
CGRect rect = [self.containerView bounds];
UIGraphicsBeginImageContextWithOptions(rect.size,YES,0.0f);
CGContextRef context = UIGraphicsGetCurrentContext();
[self.containerView.layer renderInContext:context];
UIImage *capturedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
:私はこのコードを試してみました完璧に動作しますが、Appleはこれを許さないので、私はそれを使うことはできません。私もApple's docsで試しましたが、それは同じです。私は層を使ってAVFoundationセッションに問題を追跡しました。どうすればこれを達成できますか?このアプリは2つのビューを持つコンテナビューを持ち、カメラセッションは停止しています。
私もこの問題を抱えていました。問題は、カメラプレビューレイヤー(およびカスタムレンダリングレイヤー)がOpenGLを使用していることでした。あなたが使っているメソッドは、私が思い出したように、GLで裏打ちされたレイヤーでは動作しません。私は周りに尋ね、これが実際に真であるかどうかを見ます。 –
@SteveMcFarlinあなたは問題を解決する方法を見つける、私は同じ問題に直面しているhttp://stackoverflow.com/questions/41239254/take-screenshot-during-video-call-screenshot-for-uiview-with-camera -session-sub – Chlebta
解決策は見つかりましたか? – Chlebta