2012-03-29 3 views
1

Ich habe eine YouTubeView in einer App, die ich mache, und ich versuche, einige der Video - Steuerelemente zu deaktivieren, habe ich gesehen, eine andere App, wo es nur zeigt Symbole für Wiedergabe/Pause und Vollbild Einige der Videos, die ich rendere, sind ziemlich klein (200x150), so dass der Scrubber nutzlos ist und sich die Zeit tatsächlich überlappt.Entfernen von Scrubber und Zeitstempel von in UIWebView eingebetteten YouTube - Videos

Die Funktion ich verwende ist:

- (YouTubeView *)initWithStringAsYouTubeId:(NSString *)idString frame:(CGRect)frame; 
{ 
    if (self = [super init]) 
    { 
     self.frame = frame; 
     self.delegate = self; 

     // HTML to embed YouTube video 
     NSString *embedHTML = @"\ 
     <html><head>\ 
     <style type=\"text/css\">\ 
     body {\ 
     background-color: transparent;\ 
     color: transparent;\ 
     }\ 
     </style>\ 
     </head><body style=\"margin:0\">\ 
     <embed id=\"yt\" src=\"http://www.youtube.com/v/%@\" type=\"application/x-shockwave-flash\" \ 
     width=\"%0.0f\" height=\"%0.0f\"></embed>\ 
     </body></html>"; 

     // Populate HTML with the URL and requested frame size 
     NSLog(@"%f", frame.size.height); 
     NSString *html = [NSString stringWithFormat:embedHTML, idString, frame.size.width, (frame.size.height*-1.0f)]; 

     // Load the html into the webview 
     [self loadHTMLString:html baseURL:nil]; 
    } 
    return self; 
} 

Es lädt und spielt gut, aber ich will nur den Wäscher und mal abzuschalten, habe ich versucht, Kontrollen = 0 ohne Glück?.

Cheers, Dean

Antwort

-1

Gibt es einen Grund, warum Sie MPMoviePlayerController nicht verwenden?

Mit MPMoviePlayerController erstellen Sie einfach eine UIView in Ihrer Schreibfeder, die die Größe ist, die Sie Player sein möchten. Ordnen Sie dann den Player zu, und stellen Sie seinen Frame als Frame der Ansicht ein. Mit MPMoviePlayerController erhalten Sie Zugriff auf eine Eigenschaft zum Ein-/Ausblenden der Steuerelemente. Darüber hinaus erhalten Sie alle großen Delegate-Methoden, die Ihnen sagen, wenn das Video stoppt, wenn der Benutzer in den Vollbildmodus wechselt usw.

+1

Soweit ich weiß, können Sie keine YouTube-Videos im MPMoviePlayerController verwenden – Dean

1

Um den Scrubber und andere Steuerelemente ausblenden zu können, entfernen Sie Ihr <embed>-Tag und ersetzen Sie es mit seiner gleichwertig, so (ich es festgelegt haben, die Parameter mit bis/Attribute aus Ihrem Beispiel-Code):

<iframe id=\"yt\" type=\"text/html\" src=\"http://www.youtube.com/embed/%@?controls=0\" width=\"%0.0f\" height=\"%0.0f\" frameborder=\"0\"></iframe> 

'controls=0' mit verwendet werden die Bedienelemente für Sie verstecken.

In meiner kurzen Erfahrung mit iOS-Embedded-Video scheint es, dass eine Lösung für ein Problem oft Kummer mit etwas anderem verursacht, das vorher gut funktionierte. Fallbeispiel: Im obigen Beispiel werden die Steuerelemente ausgeblendet, der Videotitel wird jedoch oben links im UIWebView eingeblendet. Die Lösung ist dieser Parameter Liste der für Ihr Video zu verwenden: ‚Kontrollen = 0 & show = 0?‘

Um die Schaufel auf dem ‚show‘ Parameter und andere sehen, die die Dokumentation bei: https://developers.google.com/youtube/player_parameters#Parameters Nicht alles in der Parameter-Docs funktioniert in der iOS , aber spielen Sie mit einigen von ihnen und Sie könnten etwas nützlich finden.

Für was es wert ist (und dies kann für Web-Programmierer, die ich nicht bin, offensichtlich sein), müssen Sie nicht die 'id' Attribut zu 'yt' zuweisen, aber die meisten jedes Beispiel, das ich habe gesehen tut das; 'yt' ist kein magischer Wert, Sie können die ID so einstellen, dass sie für Sie sinnvoll ist.

Verwandte Themen