gpt4 book ai didi

iphone - YouTube 视频 GData API

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:15:55 25 4
gpt4 key购买 nike

我正在尝试让 YouTube 在我的 iOS 应用程序中运行。我成功地检索了特定用户的视频列表,但我正在努力实现 didSelectRowAtIndexPath 以便将所选视频嵌入到单独的 viewController 中。这是我遇到问题的代码:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
DetailViewController *detailController = [self.storyboard instantiateViewControllerWithIdentifier:@"DetailController"];

GDataEntryBase *entry2 = [[feed entries] objectAtIndex:indexPath.row];
videoArray = [[(GDataEntryYouTubeVideo *)entry2 mediaGroup] mediaContents];
NSString *tempUrl = [videoArray objectAtIndex:0];
NSLog(@"The URL is:%@",tempUrl);
detailController.videoString = tempUrl;

[self.navigationController pushViewController:detailController animated:YES];

}

每次运行此程序时,我都会在“detailController.videoString = tempUrl;”处得到一个断点

我能够看到 tempUrl 字符串正在通过 NSLog 填充以下内容:

The URL is:GDataMediaContent 0x69c76a0: {url:https://www.youtube.com/v/s36krFdPmYQ?version=3&f=user_uploads&app=youtube_gdata type:application/x-shockwave-flash medium:video isDefault:true expression:full duration:1913}

如何从 GData API 中提取视频 URL?

预先感谢您的回复。

我进行了以下更改,现在我获得了正确的 URL 字符串:

GDataEntryBase *entry2 = [[feed entries] objectAtIndex:indexPath.row];
NSArray *mediaContents = [[(GDataEntryYouTubeVideo *)entry2 mediaGroup] mediaContents];
GDataMediaContent *flashContent = [GDataUtilities firstObjectFromArray:mediaContents withValue:@"application/x-shockwave-flash" forKeyPath:@"type"];
NSLog(@"The URL is:%@",[flashContent URLString]);
detailController.videoString = [flashContent URLString];

这给了我来自 NSLog 的以下内容:

The URL is:https://www.youtube.com/v/s36krFdPmYQ?version=3&f=user_uploads&app=youtube_gdata

不过,我仍然在 'detailController.videoString = [flashContent URLString]; 处设置断点;

最佳答案

我能够解决这个问题。我在两个 ViewController 之间添加了一个 Modal segue,并且还稍微修改了我的代码。这是我在添加 segue 后最终使用的代码:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
DetailViewController *detailController = [self.storyboard instantiateViewControllerWithIdentifier:@"DetailController"];
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];

detailController.videoString = tempURL;
detailController.titleString = title;
[self.navigationController pushViewController:detailController animated:YES];

}

您可以在此处查看完整的 YouTubeDemo 应用代码: https://gist.github.com/2501684

关于iphone - YouTube 视频 GData API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10316397/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com