ios7 UIWebView Youtube Video

前端 未结 5 615
滥情空心
滥情空心 2021-02-04 10:33

I have a UIWebView subclass that I used to play both youtube and local videos. Worked perfectly under iOS6. In upgrading to iOS7 I\'ve encountered a problem I don\'t really kn

5条回答
  •  無奈伤痛
    2021-02-04 11:14

    I used following way in my app and its working in both iOS6 and iOS 7. May be its works for you.

    NSString *youTubeID = [self extractYoutubeID:url];   // url is youtube url 
    NSString *embedHTML =[NSString stringWithFormat:@"\
                              \
                              \
                              \
                              \
                              ",paddingTop,paddingRight,paddingBottom,paddingLeft,videoHeight,videoWidth,youTubeID];
    [self.webView loadHTMLString:embedHTML baseURL:nil];
    
    
    
    
    - (NSString *)extractYoutubeID:(NSString *)youtubeURL
        {
            //NSLog(@"youtube  %@",youtubeURL);
            NSError *error = NULL;
            NSString *regexString = @"(?<=v(=|/))([-a-zA-Z0-9_]+)|(?<=youtu.be/)([-a-zA-Z0-9_]+)";
            NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:regexString options:NSRegularExpressionCaseInsensitive error:&error];
            NSRange rangeOfFirstMatch = [regex rangeOfFirstMatchInString:youtubeURL options:0 range:NSMakeRange(0, [youtubeURL length])];
            if(!NSEqualRanges(rangeOfFirstMatch, NSMakeRange(NSNotFound, 0)))
            {
                NSString *substringForFirstMatch = [youtubeURL substringWithRange:rangeOfFirstMatch];
                return substringForFirstMatch;
            }
            return nil;
        }
    

提交回复
热议问题