【问题标题】:Removing scrubber and timestamp from YouTube video embedded in UIWebView从嵌入在 UIWebView 中的 YouTube 视频中删除洗涤器和时间戳
【发布时间】:2012-04-13 04:00:29
【问题描述】:

我正在制作的应用中有一个 YouTubeView,我正在尝试禁用一些正在出现的视频控件,我看到另一个应用这样做,它只显示播放/暂停和全屏图标。我正在渲染的一些视频非常小(200x150),所以洗涤器没用,时间实际上是重叠的。

我正在使用的功能是:

- (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;  
}

它可以正常加载和播放,但我只想禁用洗涤器和时间,我试过 ?controls=0 没有运气。

干杯, 院长

【问题讨论】:

    标签: ios uiwebview youtube


    【解决方案1】:

    为了能够隐藏洗涤器和其他控件,请删除您的 &lt;embed&gt; 标记并将其替换为等效的 &lt;iframe&gt;,如下所示(我已使用示例代码中的参数/属性进行设置):

    <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' 与&lt;iframe&gt; 一起使用将为您隐藏控件。

    在我对 iOS 嵌入式视频的简短体验中,对于一个问题的解决方案似乎常常会导致对以前运行良好的其他问题感到悲痛。举个例子:上面的例子隐藏了控件,但是会在 UIWebView 的左上角覆盖视频的标题。解决方案是将其用于视频的参数列表:'?controls=0&showinfo=0'

    要查看有关“showinfo”参数和其他参数的独家新闻,请查看以下文档:https://developers.google.com/youtube/player_parameters#Parameters 并非参数文档中的所有内容都适用于 iOS &lt;iframe&gt;,但可以尝试其中一些,您可能会发现有用的东西。

    对于它的价值(这对于专业的网络编码人员来说可能很明显,但我不是),您不必将“id”属性指定为“yt”,但我见过的大多数示例做这个; 'yt' 没有什么神奇的价值,你可以将 id 设置为对你有意义的任何值。

    【讨论】:

      【解决方案2】:

      你不使用 MPMoviePlayerController 有什么原因吗?

      使用 MPMoviePlayerController,您只需在您的 nib 中创建一个 UIView,它就是您想要播放的大小。然后分配/初始化播放器并将其框架设置为视图的框架。使用 MPMoviePlayerController 可以让您访问一个属性来显示/隐藏控件。此外,您还可以获得所有出色的委托方法,告诉您视频何时停止、用户是否进入或退出全屏等。

      【讨论】:

      • 据我所知,您不能在 MPMoviePlayerController 中使用 YouTube 视频
      猜你喜欢
      • 2012-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-11
      • 2016-10-13
      • 1970-01-01
      • 2013-01-19
      • 1970-01-01
      相关资源
      最近更新 更多