Цель-C: воспроизведение видео Youtube в приложении

Я пытаюсь изучить, что еще я могу сделать в разработке приложений iOS, и только сейчас я попытался включить видео в свое приложение.

У меня есть этот код ниже, который направлен на воспроизведение видео youtube при загрузке представления, но все, что я получил, это просто черный webView.

NSString *videoURL = @"http://youtu.be/Wq_CtkKrt1o";

videoView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 768, 1024)];
videoView.backgroundColor = [UIColor clearColor];
videoView.opaque = NO;
videoView.delegate = self;
[self.view addSubview:videoView];


NSString *videoHTML = [NSString stringWithFormat:@"
             <html>
             <head>
             <style type="text/css">
             iframe {position:absolute; top:50%%; margin-top:-130px;}
             body {background-color:#000; margin:0;}
             </style>
             </head>
             <body>
             <iframe width="100%%" height="240px" src="%@" frameborder="0" allowfullscreen></iframe>
             </body>
             </html>", videoURL];

[videoView loadHTMLString:videoHTML baseURL:nil];

2 ответов


вы должны использовать embed link

использовать ниже код

NSString *videoURL = @"http://www.youtube.com/embed/Wq_CtkKrt1o";

вместо

NSString *videoURL = @"http://youtu.be/Wq_CtkKrt1o";

попробуйте это ваша проблема решит


можете ли вы попробовать код ниже, он отлично работает для меня

- (void)embedYouTube:(NSString *)urlString frame:(CGRect)frame {
    NSString *embedHTML = @"\
    <html><head>\
    <style type=\"text/css\">\
    body {\
    background-color: transparent;\
    color: white;\
    }\
    </style>\
    </head><body style=\"margin:0\">\
    <embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" \
    width=\"%0.0f\" height=\"%0.0f\"></embed>\
    </body></html>";
    NSString *html = [NSString stringWithFormat:embedHTML, urlString, frame.size.width, frame.size.height];
    UIWebView *videoView = [[UIWebView alloc] initWithFrame:frame];
    [videoView loadHTMLString:html baseURL:nil];
    [self.view addSubview:videoView];
    [videoView release];
}