【问题标题】:Youtube API v3, Invalid parameter issue while video playYoutube API v3,视频播放时参数无效问题
【发布时间】:2015-08-25 12:44:52
【问题描述】:

我正在使用 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.}

【问题讨论】:

  • 你找到解决办法了吗?
  • @BhumitMehta (Bhooms) 是的,我使用过 YTPlayerview。您必须使用该视图,它会正常工作。如果您想了解更多信息,请告诉我。

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


【解决方案1】:

我对您的问题的理解是,您很难让视频在您的应用中播放?从您的错误输出来看,无论如何,对我来说,您似乎正在尝试将 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

【讨论】:

  • 是的,我正在使用 MPMoviePlayerController,我听说你被告知要使用 youtube 视频 url 提取器,但是在 v2 中它可以正常工作而无需执行任何此类操作。我的意思是我必须使用这个因为 v3 的变化?
  • @Niks 是的,从 YouTube API V3 开始,实际的视频文件链接存储在 YouTube 视频数据中。因此需要一个提取器来获取这些链接。您不能再将标准链接用于实际的视频文件。
猜你喜欢
  • 2018-06-11
  • 2017-06-25
  • 1970-01-01
  • 1970-01-01
  • 2022-01-08
  • 2015-04-23
  • 2022-01-04
  • 2015-04-17
  • 2014-01-06
相关资源
最近更新 更多