2013-07-02 9 views
9

Wie greife ich auf die webkitExitFullScreen auf Handy (iPhone) Safari (webkit) Funktionalität im Vollbildmodus.YouTube IFrame API und webkitExitFullScreen auf IOS [revisit]

Auf einem iPhone mit der IFrame API wird ein Video immer im Vollbildmodus abgespielt, aber ich kann später nicht über JS wie webkitExitFullScreen auf andere Funktionen zugreifen.

ich sah, dass dies bereits auf das Forum eingereicht wurde und das Team in den YouTube API Forum hier:

https://groups.google.com/d/msg/youtube-api-gdata/fygn23jMbdE/pNE57RDl1gEJ

und

https://groups.google.com/forum/#!msg/youtube-api-gdata/7ioV74oFX84/U8zQ7-Yl9w4J

Ich wollte bis fragen und folgen auf ihre Fragen besonders die letzte seit es vor einem Jahr schon war. Aber die Gruppen sind jetzt geschlossen und ich sagte, ich sollte hier einreichen. Hat jemand eine Ahnung ob das irgendwo schon in the API umgesetzt wurde und ich es vielleicht schon vermisst habe? Oder vielleicht, wie man das Team kontaktiert und sie direkt über den Fortschritt oder die Situation fragt?

+0

Wie Ich würde gerne wissen, ob es hier ein Update gibt? @index hast du irgendwo hinkommen? – addedlovely

+0

@addedlovely Nein. Noch nicht. Dies wurde vorerst für uns zu einer Einschränkung. :(Alles auf deiner Seite? – index

+0

@addedlovely Ich habe dies auf google's youtube API hier https://code.google.com/p/gdata-issues/issues/detail?id=5710#makechanges abgelegt und sie haben das erwähnt ( – index

Antwort

1

schreiben dies in Ihrem viewDidLoad

webView112 = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)]; 
webView112.backgroundColor = [UIColor redColor]; 
webView112.allowsInlineMediaPlayback = YES; 
webView112.mediaPlaybackRequiresUserAction = NO; 
webView112.delegate = self; 
[self.view addSubview:webView112]; 

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"youtube" ofType:@"html"]; 
NSString *html = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil]; 

[webView112 loadHTMLString:html baseURL:[NSURL URLWithString:@"any static url"]]; 

und die folgenden Verfahren nach dem Abschluss des Videos

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{ 
if ([[[request URL] scheme] isEqualToString:@"callback"]) 
{ 

    NSLog(@"get callback"); 
    [webView112 removeFromSuperview]; 

    return NO; 
} 

return YES;} 

und erstellen Sie HTML-Datei und fügen Sie diesen Code in HTML-Datei

abfeuern
<html> 
<head> 
    <script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 

    <script> 
     var elapsed = -1; 
     var isPlayerLoaded = false; 
     var tag = document.createElement('script'); 
     tag.src = "http://www.youtube.com/player_api"; 
     var firstScriptTag = document.getElementsByTagName('script')[0]; 
     firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); 

     // 4. The API will call this function when the video player is ready. 
     function onPlayerReady(event) { 
      player.playVideo(); 
     } 

     //   function onPlayerError(event) { 
     //   } 
     // 
     function onPlayerStateChange(event) { 
      var state = ''; 
      switch(event.data) { 
       case YT.PlayerState.ENDED: 
        window.location = "callback:anything"; 
        break; 
       case YT.PlayerState.PLAYING: 
        state = 'playing'; 
        break; 
       case YT.PlayerState.PAUSED: 
        state = 'paused'; 
        break; 
       case YT.PlayerState.BUFFERING: 
        state = 'buffering'; 
        break; 
       case YT.PlayerState.CUED: 
        state = 'cued'; 
        break; 
       default: 
        state = 'unstarted'; 
        break; 
      } 
      jQuery('#log').append(state + "<br/>"); 
     } 

     // 3. This function creates an <iframe> (and YouTube player) 
     // after the API code downloads. 
     var player; 
     function onYouTubePlayerAPIReady() { 
      player = new YT.Player('player', { 
            height: '400', 
            width: '320', 
            videoId: 'y84oAUjA8ms', 
            playerVars: { 'autoplay': 0, 'modestbranding': 1, 'rel': 0, 'showinfo': 0, 'iv_load_policy': 3, 'controls': 1, 'playsinline':1 }, 
            events: { 
            'onReady': onPlayerReady, 
            'onStateChange': onPlayerStateChange 
            //          'onError': onPlayerError 
            } 
            }); 
     } 

     </script> 
</head> 
<body style="padding:0;margin:0;background-color:#000000;"> 
    <div id="log" style="background:#fff;height:0px;width:0%;margin-top:0px;"></div> 
    <div id="player" frameborder="0"></div> 
</body> 

Verwandte Themen