2

我一直在尝试从 YouTube 获取我的应用程序流视频,从 AppCoda 教程中学习,到目前为止,我已经成功连接到它的 JSON 数据库,并从我需要的视频中下载了信息。但是,当我将它提供给 YouTube 播放器库时,它给了我一个错误:

Error Domain=NSCocoaErrorDomain Code=258 "The file name is invalid."

我检查了 AppCoda 示例,似乎我的应用程序的工作方式非常相似。我什至在调用函数之前打印了 videoID 以确保它是正确的。

func getVideos(pID: String, completion: (result:String)->()) {

        Alamofire.request(.GET, videosURL).validate().responseJSON { response in
            switch response.result {
            case .Success:
                if let value = response.result.value {
                    let json = JSON(value)
                    var videoID: [String] = []
                    for var i=0; i<json["items"].count; i++ {
                        let newID = json["items"][i]["snippet"]["resourceId"]["videoId"].stringValue
                        videoID.append(newID)
                        defaults.setObject(videoID, forKey: "\(pID)videoID")
                    }
                    completion(result: "done")
                }
            case .Failure(let error):
                print(error)
                completion(result: "done")
            }
        }
    }

        print(videoID) //Returns: 7zAxweqsSfo
        playerView.loadWithVideoId(videoID)
}
4

1 回答 1

5

最新版本的 YouTube iOS Helper Library 不包含YTPlayerView-iframe-player.html播放器所需的文件。有关相关讨论,请参阅此 GitHub 问题

解决方案是手动添加YTPlayerView-iframe-player.html到你的项目中,或者将 Cocoapods 指向 master 分支:

pod 'youtube-ios-player-helper', :git=>'https://github.com/youtube/youtube-ios-player-helper', :commit=>'head'
于 2016-01-20T15:37:04.170 回答