ios - Youtube API v3,视频播放时参数无效问题

标签 ios objective-c youtube-api gdata youtube-data-api

我正在使用 youtube API 来显示视频列表并播放该视频。 v2 一切正常,但现在已弃用,我已将其更新为 v3。

我正在成功获取 youtube 播放列表,但是当我使用 API 中提供的 videoId 播放时它失败并显示如下错误。

它在浏览器 safari 和 mozila 中也能正常播放。

视频网址 VideoLink

    **Error**
    Error Domain=YouTubeVideoErrorDomain Code=2 "Invalid parameters." UserInfo=0x7f877064c610 
    {NSURL=https://www.youtube.com/get_video_info?el=detailpage&hl=en&ps=default&video_id=https%3A%2F%2F
    www.youtube.com%2Fwatch%3Fv%3DRgKAFK5djSk%26feature%3Dyoutube_gdata, NSLocalizedDescription=Invalid parameters.}

最佳答案

我对您的问题的理解是,您正在努力让视频在您的应用中播放?从你的错误输出来看,无论如何对我来说,你似乎正试图将 URL 传递给像 MPMoviePlayerController 这样的本地东西?

如果是这样,这可以做到,但你接近它的方式是错误的。您需要做的是使用 YouTube 视频 URL 链接提取器库,它将使用您从 YouTube API V3 返回的视频 ID,然后获取 MP4 视频 URL 的列表。然后,您可以使用这些 URL 在本地播放视频。

这是一个很棒的链接提取器库,您可以使用它:https://github.com/runmad/RMYouTubeExtractor

我应该指出,这违反了 YouTube ToS,因此如果您想按照 Google 允许的方式进行操作,则只需将该视频嵌入到一个小的 UIWebView 中即可。 (这看起来和工作都很糟糕)。使用这个库来做到这一点:https://github.com/youtube/youtube-ios-player-helper

关于ios - Youtube API v3,视频播放时参数无效问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30753389/

相关文章:

iphone - iOS - 多个 NSURLConnection 下载

ios - 仅在一个 ViewController、 Objective-C 、iOS 中显示/隐藏状态栏

android - IOS/Android 应用上传视频到 YouTube?

youtube - 我可以使用xml从youtube api获取页面 token 吗?

android - 有谁知道 name youtube 应用程序包在 android 中?

ios - 使用其 "Location"在 map 上显示 CKRecord

ios - 添加滑动删除 UITableViewCell

ios - 尝试重新排序 NSMutableArray 时出现运行时异常

ios - iOS 应用程序中的文件资源管理器

ios - Realm 不持久写入所做的更改