1

我正在尝试在我的项目中使用PSYouTubeExtractor,它应该通过下载 mp4 或在 Web 视图中显示它来帮助内联显示 YouTube 视频。

到目前为止,这是我实现它的方式:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    [PSYouTubeExtractor extractorForYouTubeURL:[deskUrls objectAtIndex:indexPath.row] success:^(NSURL *URL) {
        NSLog(@"Finished extracting: %@", URL);
        // show the movie!
    } failure:^(NSError *error) {
        NSLog(@"Failed to query mp4: %@", error);
    }];
}

deskUrl是:例如此链接,并且在提取错误时发生:

[PSYouTubeExtractor doRetry_] [Line 105] Trying to load page...
2012-09-30 17:50:40.054 Tube[3378:907] -[__NSCFString absoluteURL]: unrecognized selector sent to instance 0x21027eb0

好吧,我不明白为什么,因为这就是应该这样做的方式。在此处开发人员的 github 页面上,这只是相同的代码。

任何人都知道如何解决这个问题?

4

1 回答 1

2

它需要一个NSURL实例,但您显然正在提供一个NSString实例。

使用以下调用将您的字符串转换为 URL;

NSURL *youTubeURL = [NSURL URLWithString:[deskUrls objectAtIndex:indexPath.row]];

然后你可以使用你的例子中已经完成的提取器工厂/单例;

[PSYouTubeExtractor extractorForYouTubeURL:youTubeURL success:^(NSURL *URL) {
        NSLog(@"Finished extracting: %@", URL);
        // show the movie!
    } failure:^(NSError *error) {
        NSLog(@"Failed to query mp4: %@", error);
    }];
于 2012-09-30T16:34:23.793 回答