Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Youtube API v3,视频播放时出现无效参数问题_Ios_Objective C_Youtube Api_Gdata_Youtube Data Api - Fatal编程技术网

Ios Youtube API v3,视频播放时出现无效参数问题

Ios Youtube API v3,视频播放时出现无效参数问题,ios,objective-c,youtube-api,gdata,youtube-data-api,Ios,Objective C,Youtube Api,Gdata,Youtube Data Api,我正在使用youtube API显示视频列表并播放该视频。 使用v2时一切都很好,但现在它已被弃用,我已使用v3对其进行了更新 我正在成功获取youtube播放列表,但当我使用API中提供的videoId播放时,它失败并显示错误,如下所示 它在浏览器safari和mozila中也能很好地发挥作用 视频URL 我对你的问题的理解是,你正在努力让视频在你的应用程序中播放?不管怎样,从您的错误输出来看,似乎您正在尝试将URL传递给本地的东西,如MPMoviePlayerController 如果是这样

我正在使用youtube API显示视频列表并播放该视频。 使用v2时一切都很好,但现在它已被弃用,我已使用v3对其进行了更新

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

它在浏览器safari和mozila中也能很好地发挥作用

视频URL


我对你的问题的理解是,你正在努力让视频在你的应用程序中播放?不管怎样,从您的错误输出来看,似乎您正在尝试将URL传递给本地的东西,如
MPMoviePlayerController

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

下面是一个很好的链接提取器库,您可以使用:


我应该提到,这是针对YouTube ToS的,所以如果你想按照谷歌允许的方式来做,那么你只需要将视频嵌入到一个小的UIWebView中。(看起来和效果都很糟糕)。使用此库即可做到这一点:

是的,我使用的是MPMoviePlayerController,我听说您被告知要使用youtube视频url提取器,但在v2中,它可以正常工作,但没有这样做。我的意思是我必须使用它,因为v3发生了变化?@Niks是的,从YouTube API v3开始,实际的视频文件链接存储在YouTube视频数据中。因此需要一个提取器来获取这些链接。你不能再对实际的视频文件使用标准链接了。你找到解决方案了吗?@BhumitMehta(Bhooms)是的,我用过YTPlayerview。你必须坚持这种观点,它会很好地发挥作用。如果你想了解更多信息,请告诉我。
    **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.}