Resimde veya manzarada video tam ekran oynatmayı sağlayan MPMoviePlayerController
nesnesine sahibim. Video oynatılırken yönelimi döndürürüm ve video oynatılmaya başladıktan ve video durum çubuğu göründükten sonra birkaç saniye içinde dönüş yaparsam, video gezinme çubuğum bittiğinde mükemmel olur. Ama video durumu çubuğunun video oynatma içine birkaç saniye kaybolmasını bekleyip oryantasyonu döndürene kadar beklerseniz, video navigationBar
bittiğinde, yukarı itilmiş gibi durum çubuğunun arkasında kısmen gizlidir.navigationBar ve MPMoviePlayerController'ın son derece garip davranışı. IOS'ta hata mı, yoksa hatay mı?
Hiç böyle bir şey gördünüz mü?
Bu hatayı kolayca yeniden oluşturabiliyorum. Yeni bir Tek Görünüm Uygulaması oluşturdum ve sadece bir düğme ve bir gezinme çubuğu ekledim. Video oynatılırken yönlendirmeyi döndürürsem, tam ekran özelliğini etkinleştirmek için simgesine dokunun ve video bittiğinde video durum çubuğu hala görünebilir, her şey yolunda. Ancak, video durum çubuğunun kaybolmasından sonra dönmeyi beklersem, döndürdüğümde ve video bittiğinde, navigationBar durum çubuğunun altında. Görüntüyü bakınız: Burada
kullanıyorum basit kodudur: Aşağıda verilen önerilerle şu anda neredeyim İşte- (void) playMovie {
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource: @"movie" ofType: @"mov"]];
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL: url];
[[NSNotificationCenter defaultCenter] addObserver: self
selector: @selector(moviePlayBackDidFinish:)
name: MPMoviePlayerPlaybackDidFinishNotification
object: moviePlayer];
moviePlayer.controlStyle = MPMovieControlStyleDefault;
moviePlayer.shouldAutoplay = YES;
[self.view addSubview: moviePlayer.view];
[moviePlayer setFullscreen: YES animated: YES];
- (void) moviePlayBackDidFinish: (NSNotification *) notification
MPMoviePlayerController *player = [notification object];
[[NSNotificationCenter defaultCenter] removeObserver: self
name: MPMoviePlayerPlaybackDidFinishNotification
object: player];
if ([player respondsToSelector: @selector(setFullscreen:animated:)])
{
[player.view removeFromSuperview];
}
olduğunu. Yanlış bir şeyim olmalı çünkü maalesef hala aynı problemim var. İşte
yöntemonPlayerWillExitFullScreen
UIView *view = [[[UIApplication sharedApplication] delegate].window.subviews lastObject];
if (view) {
[view removeFromSuperview];
[[[UIApplication sharedApplication] delegate].window addSubview:view];
}
MPMoviePlayerController *player = [aNotification object];
[[NSNotificationCenter defaultCenter] removeObserver: self
name: MPMoviePlayerWillExitFullscreenNotification
object: player];
ve burada benim şimdiki playMovie
yöntem şudur: MPMoviePlayerWillExitFullscreenNotification bildirimi için dinlerseniz
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource: @"movie" ofType: @"mov"]];
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL: url];
[[NSNotificationCenter defaultCenter] addObserver: self
selector: @selector(moviePlayBackDidFinish:)
name: MPMoviePlayerPlaybackDidFinishNotification
object: moviePlayer];
[[NSNotificationCenter defaultCenter]addObserver: self
selector: @selector(onPlayerWillExitFullScreen:)
name: MPMoviePlayerWillExitFullscreenNotification
object: self.moviePlayer];
moviePlayer.controlStyle = MPMovieControlStyleDefault;
moviePlayer.shouldAutoplay = YES;
[self.view addSubview: moviePlayer.view];
[moviePlayer setFullscreen: YES animated: YES];
Ekran görüntüsü veya iki tane eklemek isteyebilirsiniz. –
Öneriniz için teşekkürler Jeff. –
Ekran görüntüsü bağlantınız kesildi. – JonasCz