Swift-YouTube-Player:无法读取可用视频
Swift-YouTube-Player : Not able to read available videos
我正在使用 https://github.com/gilesvangruisen/Swift-YouTube-Player to read youtube videos in my app such as this one : https://www.youtube.com/watch?v=Bw0tjdBgKBY
在 WEB 浏览器上运行良好,但在使用库时,会出现一条消息:
This video is unavailable
我可以在播放视频之前看到视频预览,但是当视频开始播放时,我的应用程序中会出现消息。
在使用这种库时,是否有视频内容被youtube锁定?
FIFATV 发布的每个视频似乎都无法使用此库...
我正在这样设置 youtubePlayer 中的视频:
youtubePlayerView.loadVideoURL(URL(string: "https://www.youtube.com/watch?v=PBTFz-9bozc"))
非来自 FIFATV 的其他视频正在运行。
关于这个问题有什么想法吗?
要了解您的流媒体发生了什么,您应该添加另一个参数,因此按照 Swift-YouTube-Player 示例更正此部分,添加 origin
参数:
Swift-YouTube-Player/YouTubePlayerExample/YouTubePlayerExample/ViewController.swift
@IBAction func loadVideo(sender: UIButton) {
playerView.playerVars = [
"playsinline": "1",
"controls": "0",
"showinfo": "0",
"origin": "https://www.youtube.com"
]
playerView.loadVideoID("wQg3bXrVLtg")
}
如果您添加此参数,框架将避免使用空白页面作为流式传输的来源并使用您的值,事实上,如果您查看官方来源:
YTPlayerView.m
if (![playerVars objectForKey:@"origin"]) {
self.originURL = [NSURL URLWithString:@"about:blank"];
} else {
self.originURL = [NSURL URLWithString: [playerVars objectForKey:@"origin"]];
}
现在您应该收到如下消息:
"This video contains content from FIFA, who has blocked it from display on this website or application. Watch on YouTube"
阅读 Youtube API docs 您也可以将 http://example.com
作为值:
在搜索 enablejsapi
的地方,您会发现:
不幸的是,说到YT iOS框架你可以搜索这个参数但是你会发现它已经设置为1在文件player.js 如果您尝试将其设置在 playerVars
内,则不会发生任何事情。
所以它仍然(暂时..)是一个 Youtube iOS 框架错误,可能不是正确的错误,但 YT 工作人员应该在他们的政策中添加另一条规则iOS 内容变化,VEVO 和 UMG 内容的一部分,如果我记得的话(还有其他未解决的错误..)
我正在使用 https://github.com/gilesvangruisen/Swift-YouTube-Player to read youtube videos in my app such as this one : https://www.youtube.com/watch?v=Bw0tjdBgKBY
在 WEB 浏览器上运行良好,但在使用库时,会出现一条消息:
This video is unavailable
我可以在播放视频之前看到视频预览,但是当视频开始播放时,我的应用程序中会出现消息。
在使用这种库时,是否有视频内容被youtube锁定? FIFATV 发布的每个视频似乎都无法使用此库...
我正在这样设置 youtubePlayer 中的视频:
youtubePlayerView.loadVideoURL(URL(string: "https://www.youtube.com/watch?v=PBTFz-9bozc"))
非来自 FIFATV 的其他视频正在运行。
关于这个问题有什么想法吗?
要了解您的流媒体发生了什么,您应该添加另一个参数,因此按照 Swift-YouTube-Player 示例更正此部分,添加 origin
参数:
Swift-YouTube-Player/YouTubePlayerExample/YouTubePlayerExample/ViewController.swift
@IBAction func loadVideo(sender: UIButton) {
playerView.playerVars = [
"playsinline": "1",
"controls": "0",
"showinfo": "0",
"origin": "https://www.youtube.com"
]
playerView.loadVideoID("wQg3bXrVLtg")
}
如果您添加此参数,框架将避免使用空白页面作为流式传输的来源并使用您的值,事实上,如果您查看官方来源:
YTPlayerView.m
if (![playerVars objectForKey:@"origin"]) {
self.originURL = [NSURL URLWithString:@"about:blank"];
} else {
self.originURL = [NSURL URLWithString: [playerVars objectForKey:@"origin"]];
}
现在您应该收到如下消息:
"This video contains content from FIFA, who has blocked it from display on this website or application. Watch on YouTube"
阅读 Youtube API docs 您也可以将 http://example.com
作为值:
在搜索 enablejsapi
的地方,您会发现:
不幸的是,说到YT iOS框架你可以搜索这个参数但是你会发现它已经设置为1在文件player.js 如果您尝试将其设置在 playerVars
内,则不会发生任何事情。
所以它仍然(暂时..)是一个 Youtube iOS 框架错误,可能不是正确的错误,但 YT 工作人员应该在他们的政策中添加另一条规则iOS 内容变化,VEVO 和 UMG 内容的一部分,如果我记得的话(还有其他未解决的错误..)