誰でもこれで私を助けることができますか?MPMediaPlayerController で再生中のビデオからスクリーンショットを取得したいと考えています。私がこれまでに試したことは次のとおりです。
-(void)viewDidLoad
{
NSURL *tempFilePathURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"LMFao" ofType:@"mp4"]];
player = [[MPMoviePlayerController alloc] initWithContentURL:tempFilePathURL];
[player setControlStyle:MPMovieControlStyleFullscreen];
//Place it in subview, else it won’t work
player.view.frame = CGRectMake(0, 0, 320, 400);
[self.view addSubview:player.view];
}
-(IBAction)screenshot
{
CGRect rect = [player.view bounds];
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
[player.view.layer renderInContext:context];
image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
imgView = [[UIImageView alloc] initWithFrame:CGRectMake(150, 150, 100, 100)];
[imgView setImage:image];
imgView.layer.borderWidth = 2.0;
[self.view addSubview:imgView];
}
そして、私が今持っているのはこれです:-
現在何が起こっているかというと、プレーヤーのボタンがスクリーンショットにキャプチャされていますが、ビデオの画像が取得されていません.ビデオにオーバーレイがあるため、このコンテキストメソッドを使用して画像をキャプチャしています.サムネイルメソッドを使用してビデオをキャプチャすることはできません.オーバーレイですが、オーバーレイでビデオの画像を取得したいです。
編集: 私が欲しいのは、この画像に示すように、このビデオと描画オーバーレイの両方のスクリーンショットを取得することです
しかし、私が得ているのは、スクリーンショットにオーバーレイではなくビデオのみを取得した1つの方法であり、その方法はサムネイルメソッドであり、MPMoviePlayerControllerによって提供されるサムネイルを作成していました。メソッドはコンテキストメソッドです。私はrectのコンテキストを取得しています。今、これに対する解決策は、これらの両方の画像を結合することであると考えました。
助けてください。ありがとう:)