私はプレゼンテーションのために行内にUIViewController
をほとんど使用していません。これらの画面のすべてで、私はビデオを再生する必要があります。
これは私がビデオを再生するためにそれらの画面のすべての上使用していますコードです:AVPlayerを使用してビデオを再生する - ビデオはある時点で停止する
NSURL *videoURL = [[NSBundle mainBundle]URLForResource:@"video" withExtension:@"mp4"];
AVPlayer *avPlayer = [[AVPlayer alloc]initWithURL:videoURL];
AVPlayerLayer *avPlayerLayer =[AVPlayerLayer playerLayerWithPlayer:avPlayer];
[avPlayerLayer setFrame:CGRectMake(0, 0, videoWidth, videoHeight)];
_videoView.layer.sublayers = nil;
[_videoView.layer addSublayer:avPlayerLayer];
[avPlayer seekToTime:kCMTimeZero];
[avPlayer play];
最初の画面は、ユーザーがシナリオのいずれかを選択できるのUIViewControllerです。ホーム画面では、上で書いたコードを使ってビデオを見せています。ユーザーが次のボタンをクリックすると、次の画面が表示されます。
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
HomeViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"home_vc"];
[self.navigationController pushViewController:vc animated:YES];
シナリオが完了すると、再度ホーム画面が表示され、次のシナリオを選択できます。
いくつかの画面の後、私はビデオに問題があります。
私はビデオを見るべき場所で、私はただ黒い画面しか見ることができません。私はこの問題がメモリに関連していると推測していますが、解決策を見つけることができませんでした。
にご
avPlayer
とavPlayerLayer
refrenceを設定します。コントローラで使用するコードを追加してください。 – rkyr