1

我有一个 YouTube 视频在上个月运行良好,但现在无法在 iOS 6 中播放。

这是我尝试过的代码。它可以正确地从 YouTube 流式传输视频,但是当我单击播放按钮时,它不会播放视频并显示错误消息:

该视频是当前不可用

但是这个视频可以在 YouTube 上找到并且播放良好。苹果有更新吗?

- (void)viewDidLoad
{
    [super viewDidLoad];

    CGRect frame = CGRectMake(100, 55, 500, 500);

    NSString *strurl=@"http://www.youtube.com/embed/x1g53j4BY9Y?feature=player_embedded";

    NSLog(@"stringwithurl===%@",strurl);

    NSString *embedHTML =[NSString stringWithFormat:@"\
                          <html><head>\
                          <style type=\"text/css\">\
                          body {\
                          background-color: transparent;\
                          color: blue;\
                          }\
                          </style>\
                          </head><body style=\"margin:0\">\
                          <embed id=\"yt\" height=\"500\" width=\"500\"src=\"%@\ type=\"application/x-shockwave-flash\"></embed>\
                          </body></html>",strurl];
    UIWebView *webview=[[UIWebView alloc]initWithFrame:frame];
    [self.view addSubview:webview];
    [webview sizeToFit];
    webview.scrollView.scrollEnabled = NO;
    webview.scrollView.bounces = NO;
    webview.backgroundColor = [UIColor clearColor];
    [webview loadHTMLString:embedHTML baseURL:nil];
}
4

2 回答 2

0

我使用了这个吊舱:

https://github.com/larcus94/LBYouTubeView

它很容易使用。

例子:

LBYouTubePlayerViewController* controller = [[LBYouTubePlayerViewController alloc] initWithYouTubeURL:[NSURL URLWithString:@"http://www.youtube.com/watch?v=1fTIhC1WSew&list=FLEYfH4kbq85W_CiOTuSjf8w&feature=mh_lolz"] quality:LBYouTubeVideoQualityLarge];
controller.delegate = self;
controller.view.frame = CGRectMake(0.0f, 0.0f, 200.0f, 200.0f);
controller.view.center = self.view.center;
[self.view addSubview:self.controller.view];

好好享受。

于 2013-08-25T03:29:37.923 回答
0

使用以下代码对我来说工作正常。

NSString *strurl=@"http://www.youtube.com/embed/x1g53j4BY9Y?feature=player_embedded";

NSString *htmlString = [NSString stringWithFormat:@"<html><head><meta name = \"viewport\" content = \"initial-scale = 1.0, user-scalable = yes, width = 320\"/></head><body style=\"background:#00;margin-top:0px;margin-left:0px\"><div><object width=\"320\" height=\"180\"><param name=\"movie\" value=\"http://www.youtube.com/v/%@&f=gdata_videos&c=ytapi-my-clientID&d=nGF83uyVrg8eD4rfEkk22mDOl3qUImVMV6ramM\"></param><param name=\"wmode\" value=\"transparent\"></param><embed src=\"http://www.youtube.com/v/%@&f=gdata_videos&c=ytapi-my-clientID&d=nGF83uyVrg8eD4rfEkk22mDOl3qUImVMV6ramM\"type=\"application/x-shockwave-flash\" wmode=\"transparent\" width=\"320\" height='%0.0f'></embed></object></div></body></html>", strurl, strurl,self.videoWebView.frame.size.height];

NSString *finalHtml = [NSString stringWithFormat:htmlString,self.videoWebView.frame.size.width,
             self.videoWebView.frame.size.height,urlString];

[videoWebView loadHTMLString:finalHtml baseURL:nil];
于 2013-11-29T07:06:14.197 回答