2012-09-22 5 views
5

Ich versuche, Youtube-Video einzubetten und es auf meiner App automatisch zu spielen. Der Code funktioniert nicht auf iOS6, jedoch läuft er auf älteren iOS 5 einwandfrei.Embed Youtube Video und Autoplay auf iOS 6 nicht funktionieren

Ich mache es auf diese Weise:

-(IBAction)playVideo:(id)sender { 

myWebView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 400)]; 
myWebView.delegate = self; 
[myWebView setAllowsInlineMediaPlayback:YES]; 
myWebView.mediaPlaybackRequiresUserAction=NO; 

[myWebView loadHTMLString:[NSString stringWithFormat:@"<embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" width=\"300\" height=\"300\"></embed>", @"http://www.youtube.com/watch?v=TbsXUJITa40"] baseURL:nil]; 

} 

- (UIButton *)findButtonInView:(UIView *)view { 
UIButton *button = nil; 

if ([view isMemberOfClass:[UIButton class]]) { 
    return (UIButton *)view; 
} 

if (view.subviews && [view.subviews count] > 0) { 
    for (UIView *subview in view.subviews) { 
     button = [self findButtonInView:subview]; 
     if (button) return button; 
    } 
} 
return button; 
} 

-(void)webViewDidFinishLoad:(UIWebView *)webView { 

UIButton *b = [self findButtonInView:webView]; 
[b sendActionsForControlEvents:UIControlEventTouchUpInside]; 
} 

So-, wenn die Webansicht geladen wird, findet er automatisch die UIButton und das Video startet. Ich kann nicht verstehen, warum in iOS 6 diese Methode nicht mehr funktioniert. Es lädt das Video, aber nichts erscheint ...

Kann mir jemand helfen? Ich werde verrückt, um zu versuchen, es zu lösen ...

Antwort

4

Sie müssen JS Befehl verwenden. This link sollte helfen.

+0

laut Apple ist dies zur Zeit nicht möglich - siehe meine Antwort oben. –

4

Ich hoffe, es ist nicht zu spät für eine Antwort, aber es ist einfach einfach nicht in iOS möglich. Wie Apple Staaten auf seine Dokumentation: https://developer.apple.com/library/safari/#documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/AudioandVideoTagBasics/AudioandVideoTagBasics.html

auf unerbetene Downloads über das Mobilfunknetz auf Kosten des Benutzers zu verhindern, eingebettete Medien können nicht automatisch in Safari auf iOS-Benutzer abgespielt werden immer initiiert die Wiedergabe. Ein Controller wird automatisch auf dem iPhone oder iPod touch bereitgestellt, sobald die Wiedergabe initiiert wurde. Für das iPad müssen Sie entweder das Steuerattribut festlegen oder einen Controller mit JavaScript bereitstellen.

Bitte beachten Sie, dass die oben verlinkte Dokumentation für Safari im Allgemeinen, nicht iOS-spezifisch ist. Für mich war das beim ersten Lesen verwirrend, bis ich das bemerkte.

Also leider nein, im Moment funktioniert das auf iOS nicht.