Using YTPlayerView to play embedded YouTube video in iOS failed with restriction error(使用 YTPlayerView 在 iOS 中播放嵌入的 YouTube 视频失败,出现限制错误)
问题描述
我想使用 https://developers 提供的 YTPlayerView 在 iOS 应用中播放嵌入的 YouTube 视频.google.com/youtube/v3/guides/ios_youtube_helper
当我尝试使用 ID = "Ri7-vnrJD3k" (https://www.youtube.com/embed/Ri7-vnrJD3k),我收到错误消息此视频包含来自 VEVO 的内容.它被限制在某些网站上播放.在 YouTube 上观看".请注意,播放其他一些视频时不会出现此类问题.
When I tried to play this video with ID = "Ri7-vnrJD3k" (https://www.youtube.com/embed/Ri7-vnrJD3k), I got the error message "This video contains content from VEVO. It is restricted from playback on certain sites. Watch on YouTube". Note that there is no such issue when playing some other videos.
有没有办法解决上述问题?
Is there any way to address the above issue?
我可以使用 iframe 通过以下示例 swift 代码成功播放视频内联.但我不知道如何跟踪用户何时开始播放视频以及视频何时完成,因为我想根据这些信息执行其他自定义操作.如果您知道任何解决方案,请告诉我吗?
I could use iframe to play the video inline successfully with below sample swift code. But I don't know how to track when user starts to play the video and when the video completes since I want to do other custom action based on those information. If you know any solution, could you kindly let me know?
let frame = CGRectMake(0,0, self.view.frame.size.width, 240)
playerView = UIWebView(frame: frame)
playerView.allowsInlineMediaPlayback = true
var embedHTML = NSString(format: "<html><head><style type="text/css"> body { background-color: transparent; color: white; margin:0; width:100%%; height:100%% } </style> </head><body style="margin:0"> <iframe width=100%% height=100%% src="JUA/ZmVhdHVyZT1wbGF5ZXJfZGV0YWlscGFnZSZhbXA7cGxheXNpbmxpbmU9MQ==" frameborder="0" ></iframe> </body></html>", self.url.text)
self.view.addSubview(playerView)
playerView.loadHTMLString(embedHTML as String, baseURL: NSURL(string: "http://www.youtube.com"))
推荐答案
通过在我的 playerVars
中设置 origin
属性,我能够播放嵌入的视频.
By setting the origin
property in my playerVars
I was able to play the embedded video.
let playerVars = [
"playsinline" : 1,
"showinfo" : 0,
"rel" : 0,
"modestbranding" : 1,
"controls" : 1,
"origin" : "https://www.example.com"
]
然后像往常一样调用 loadWithVideoId::
.
Then call loadWithVideoId::
as you normally would.
这篇关于使用 YTPlayerView 在 iOS 中播放嵌入的 YouTube 视频失败,出现限制错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:使用 YTPlayerView 在 iOS 中播放嵌入的 YouTube 视频失败,出现限制错误
- 网上有没有好的 UIScrollView 教程? 2022-01-01
- Xcode 7.3 中带有 UILabel 的 UIStackView 2022-01-01
- 在 Iphone SDK 的导航栏上添加多个按钮 2022-01-01
- UITextView 内容插图 2022-01-01
- SetOnItemSelectedListener上的微调程序错误 2022-01-01
- GPS状态的广播接收器? 2022-01-01
- URL编码Swift iOS 2022-01-01
- 类似于 Mail.app 的 iPad 模态视图控制器? 2022-01-01
- 如何在 iPhone 模拟器中重置 NSUserDefaults 数据? 2022-01-01
- 使用自动布局向 UIScrollView 添加动态大小的视图 2022-01-01