【问题标题】:Embed youtube video in iOS App在 iOS 应用程序中嵌入 youtube 视频
【发布时间】:2013-09-23 06:29:03
【问题描述】:

每当我按下按钮时,我都想将 youtube 视频嵌入到网络查看器中。我有这个代码

- (IBAction)testBtn:(id)sender {

    NSString *code = @"<iframe width=\"560\" height=\"315\" src=\"//www.youtube.com/embed/1iBIcJFRLBA\" frameborder=\"0\" allowfullscreen></iframe>";

    [[self youtubeWebPlayer]loadHTMLString:code baseURL:nil];

}

我的问题是,每当我按下按钮时,什么都没有发生。网络查看器保持空白。

我在代码中放置了断点,以仔细检查代码是否被我的应用调用并且确实被调用了。

编辑***

我已经通过替换解决了这个问题

    [[self youtubeWebPlayer]loadHTMLString:code baseURL:nil];

    [[self youtubeWebPlayer]loadHTMLString:code baseURL:[NSURL URLWithString:@"http://www.youtube.com"]];

【问题讨论】:

    标签: iphone objective-c youtube ios-simulator


    【解决方案1】:

    如果你想在 swift 中嵌入你的视频,你可以添加这个代码

    let webViewYouTube = UIWebView()

        webViewYouTube.frame = CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: self.view.frame.size.width/2)
    
        webViewYouTube.allowsInlineMediaPlayback = true
        webViewYouTube.mediaPlaybackRequiresUserAction = false
        webViewYouTube.mediaPlaybackAllowsAirPlay = true
        webViewYouTube.delegate = self as? UIWebViewDelegate
        webViewYouTube.scrollView.bounces = false
        webViewYouTube.scrollView.isScrollEnabled = false
        let linkObj = "https://www.youtube.com/watch?v=swIoyaBUpEg"
    
        print("linkObj1_________________\(linkObj)")
        let embedHTML = "    <html><head>    <style type=\"text/css\">    body {    background-color: transparent;color: white;}\\</style>\\</head><body style=\"margin:0\">\\<embed webkit-playsinline id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" \\width=\"320\" height=\"320\"></embed>\\</body></html>"
        let html = String(format: embedHTML, linkObj)
        webViewYouTube.loadHTMLString(html, baseURL: nil)
        view.addSubview(webViewYouTube)
    

    【讨论】:

      【解决方案2】:

      试试这个,效果很好。 您使用 youtube Url 作为“http://www.youtube.com/v/YOU_TUBE_VIDEO_ID”。

       UIWebView * youTubeWebView=[[UIWebView alloc]initWithFrame:CGRectMake(0,0,320,320)];
          youTubeWebView.allowsInlineMediaPlayback=YES;
          youTubeWebView.mediaPlaybackRequiresUserAction=NO;
          youTubeWebView.mediaPlaybackAllowsAirPlay=YES;
          youTubeWebView.delegate=self;
          youTubeWebView.scrollView.bounces=NO;
      
          NSString *linkObj=@"http://www.youtube.com/v/1iBIcJFRLBA";//@"http://www.youtube.com/v/6MaSTM769Gk";
          NSLog(@"linkObj1_________________%@",linkObj);
          NSString *embedHTML = @"\
          <html><head>\
          <style type=\"text/css\">\
          body {\
          background-color: transparent;color: white;}\\</style>\\</head><body style=\"margin:0\">\\<embed webkit-playsinline id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" \\width=\"320\" height=\"320\"></embed>\\</body></html>";
      
          NSString *html = [NSString stringWithFormat:embedHTML, linkObj];
          [youTubeWebView loadHTMLString:html baseURL:nil];
          [self.view addSubview:youTubeWebView];
      

      【讨论】:

      • 感谢您的回复。不幸的是,它仍然不适合我:/
      • 现在你试试这个代码,我相信它工作得很好。请使用我在此答案顶部提到的格式的 youtube url。
      猜你喜欢
      • 1970-01-01
      • 2015-06-29
      • 2013-06-08
      • 2023-03-11
      • 2013-07-28
      • 1970-01-01
      • 2017-01-14
      • 1970-01-01
      • 2018-09-05
      相关资源
      最近更新 更多