1
MPMoviePlayerControllerをプリロードしたいのですが、MPMoviePlayerControllerが準備に時間がかかりすぎてロードアイコンが表示されているときにビデオが表示されるMPMoviePlayerLoadStateDidChangeNotificationしかし、私はそれが実際にどのように動作するか分からない再生前にムービーをプリロードする方法(MPMoviePlayerController)
は、これは私のコードです:それは直接ではなく、初めて再生された後、別のビデオ... :(
私が知っているがこれです。
- (void) startSlideShow:(NSString *)nameFile
{
NSURL *url = [NSURL fileURLWithPath:nameFile];
MPMoviePlayerController *moviePlayer =
[[MPMoviePlayerController alloc] initWithContentURL:url];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayBackDidFinish:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:moviePlayer];
moviePlayer.view.frame = CGRectMake(0, 0, 768, 1024);
moviePlayer.controlStyle = MPMovieControlStyleDefault;
[self.view addSubview:moviePlayer.view];
CATransition *animation = [CATransition animation];
[animation setDuration:0.5];
[animation setType:kCATransitionFade];
[animation setSubtype:kCATransitionFromLeft];
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
[[self.view layer] addAnimation:animation forKey:@"SwitchToView1"];
[moviePlayer setFullscreen:YES animated:YES];
}
-(void)moviePlayBackDidFinish: (NSNotification*)notification
{
MPMoviePlayerController *moviePlayer = [notification object];
[[NSNotificationCenter defaultCenter] removeObserver:self
name:MPMoviePlayerPlaybackDidFinishNotification
object:moviePlayer];
if ([moviePlayer respondsToSelector:@selector(setFullscreen:animated:)])
{
[moviePlayer.view removeFromSuperview];
}
[self checkResources];
}
完璧な、それのようなものを、しかし、少なくとも、私はロードのアイコン:) – user1256827
を持っていない。しかしロードの数秒がまだある(たとえ読み込みアイコンは表示されません)どのようにして直接起動できるのですか...最後に、最初のビデオで時間がかかるのはなぜですか?なぜなら、MPMoviePlayerControllerを初期化し、他の人がそれを初期化する必要がないからです。 :s – user1256827
ビデオが表示されるまで、UIActivityIndicatorViewを読み込みアイコンとして使用できます。 – erkanyildiz