UIWebView Movie Player wird iOS 6-Fehler behoben
-
11-12-2019 - |
Frage
Wenn ich versuche, die Wiedergabe eines Videos (über YouTube) in einem zu starten UIWebView
, das Video öffnet sich, dann sagt der Debugger:
[MPAVController] Autoplay: Enabling autoplay
[MPAVController] Autoplay: Skipping autoplay, disabled (for current item: 0, on player: 1)
Hier ist eine ähnliche Frage: MPMoviePlayerController stoppt die Wiedergabe nach einigen Sekunden
Mein einziges Problem ist, dass mit a UIWebView
, ich kann kein einrichten MPMoviePlayerController
Zu prepareToPlay
.Zumindest nicht soweit ich weiß.Wenn jemand helfen kann, dieses Problem zu beheben, wäre das großartig!
Lösung
Ich hatte das gleiche Problem in iOS6. Der Grund dafür ist, dass YouTube-Videos unter iOS6 abgespielt wurden.Die Methode „viewWillDisappear“ wurde nicht aufgerufen. Aber in iOS6 wird diese Methode jedes Mal aufgerufen, wenn ein YouTube-Video abgespielt wird. Möglicherweise handelt es sich um einen Fehler, ich weiß es derzeit nicht.
Ich habe das Gleiche wie unten behoben.
Legen Sie die Benachrichtigung für die Vollbild-Ein- und Ausstiegsbenachrichtigung fest, damit Sie einen Flag-Wert festlegen können, um die Ausführung eines Teils des Codes zu vermeiden.
// For FullSCreen Entry
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(youTubeVideofullScreen:) name:@"UIMoviePlayerControllerDidEnterFullscreenNotification" object:nil];
// For FullSCreen Exit
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(youTubeVideoExit:) name:@"UIMoviePlayerControllerDidExitFullscreenNotification" object:nil];
- (void)youTubeVideofullScreen:(id)sender
{ //Set Flag True.
isFullscreen = TRUE;
}
- (void)youTubeVideoExit:(id)sender
{
//Set Flag False.
isFullscreen = FALSE;
}
-(void)viewWillDisappear:(BOOL)animated{
//Just Check If Flag is TRUE Then Avoid The Execution of Code which Intrupting the Video Playing.
if(!isFullscreen)
//here avoid the thing which you want. genrally you were stopping the Video when you will leave the This Video view.
[super viewWillDisappear:animated];
}
Ich bin sicher, es wird Ihnen hilfreich sein.
Andere Tipps
Ich hatte gerade genau das gleiche Problem in einer unserer Apps.Es stellte sich heraus, dass wir das eingestellt hatten UIWebView
's HTML in eine leere Zeichenfolge umwandeln -(void)viewWillDisappear
.Anscheinend wird diese Methode jetzt in iOS 6 aufgerufen, wenn ein Vollbildvideo von einem angezeigt wird UIWebView
, Daher kommt Ihr Problem wahrscheinlich daher.