iphone - 使用 YouTube API 提取 YouTube 视频链接

标签 iphone ios youtube-api

我开发了一个应用程序,可以加载用户的视频,当他们单击表格 View 中的单元格时,它会转到另一个包含一堆不同信息的 View Controller 。

我正在尝试从特定视频中提取实际的 YouTube 链接。我打印出我得到的链接,它们以这种形式出现。

<强> https://www.youtube.com/v/Xf5pXlZJr1U?version=3&f=user_uploads&app=youtube_gdata

但我希望它是这种形式。

<强> http://www.youtube.com/watch?v=Xf5pXlZJr1U

原因是我希望人们通过社交媒体分享链接,但当它采用第一种格式时,它会显得很奇怪。

有什么方法可以轻松转换链接吗?


示例代码和答案编辑

GDataEntryBase *entry2 = [[feed entries] objectAtIndex:indexPath.row];
NSString *title = [[entry2 title] stringValue];
NSArray *contents = [[(GDataEntryYouTubeVideo *)entry2 mediaGroup] mediaContents];
GDataMediaContent *flashContent = [GDataUtilities firstObjectFromArray:contents withValue:@"application/x-shockwave-flash" forKeyPath:@"type"];
NSString *tempURL = [flashContent URLString];

NSArray *thumbnails = [[(GDataEntryYouTubeVideo *)entry2 mediaGroup] mediaThumbnails];
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:[[thumbnails objectAtIndex:0] URLString]]];
UIImage *image = [UIImage imageWithData:data];

GDataYouTubeMediaGroup *mediaGroup = [(GDataEntryYouTubeVideo *)entry2 mediaGroup];
GDataMediaDescription *desc2 = [mediaGroup mediaDescription];
NSString *mystring = [desc2 stringValue];

NSArray *listItems = [tempURL componentsSeparatedByString:@"/"];
NSString *NewURL = @"";

NewURL = [NewURL stringByAppendingString:[listItems objectAtIndex:0]];
NewURL = [NewURL stringByAppendingString:@"//"];
NewURL = [NewURL stringByAppendingString:[listItems objectAtIndex:2]];
NewURL = [NewURL stringByAppendingString:@"/"];
NewURL = [NewURL stringByAppendingString:@"watch"];
NewURL = [NewURL stringByAppendingString:@"?v="];

NSArray *listItems2 = [[listItems objectAtIndex:4] componentsSeparatedByString:@"?"];    
NewURL = [NewURL stringByAppendingString:[listItems2 objectAtIndex:0]];

最佳答案

如果你看一下 NSString然后你会发现许多有用的方法供你自己使用,例如 componentsSeparatedByString 根据某些特定字符将字符串拆分为两个不同的 block & stringByAppendingString 用于将字符串附加到现有字符串。这些方法的使用并不难,根据自己的需要使用即可。

关于iphone - 使用 YouTube API 提取 YouTube 视频链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15256965/

相关文章:

ios - 读取 plist 文件。 iOS编程

ios - 以编程方式更改选项卡并将 Controller 推送到导航堆栈

javascript - 取消 Google API 请求

javascript - 覆盖 playerVars 控件 :attrib dynamically for videos in youtube API

ios - 使用transitionStyle .scroll时如何将UIPageViewControllerSpineLocation设置为.mid

iphone - UIPickerView 2 组件值 iPhone

iphone - 设置自动旋转框架后,UIButtons 不响应触摸

ios - Swift 中的 PageViewController,索引一直评估为 nil

Swift Youtube API 内联模式不起作用

iphone - AddressBook kABPersonEmailProperty 对于某些联系人返回 nil