如何在我的 ios 应用程序中嵌入 youtube 或 facebook 直播?
Posted
技术标签:
【中文标题】如何在我的 ios 应用程序中嵌入 youtube 或 facebook 直播?【英文标题】:how to embed youtube or facebook live streaming in my ios App ? 【发布时间】:2017-09-22 22:49:08 【问题描述】:我一直在查看适用于 ios 的 facebook SDK,但我无法真正得到可靠的答案。所以我在这里问,天气是否可以使用 swift 在我的 IOS 应用程序中流式传输实时 Facebook 视频或 youtube 视频?如果是的话,请随时给我一些提示或分享好的阅读和参考资料 天呐
【问题讨论】:
【参考方案1】:要将 youtube 直播嵌入到您的 iOS 应用中,请使用以下命令:
@IBOutlet weak var LiveStreamViewer: UIWebView!
let channelID = "[channelID]"
func loadLiveStream
guard
let youtubeURL = URL(string: "https://www.youtube.com/embed?
live=1&channel=\(channelID)")
else return
LiveStreamViewer.loadRequest( URLRequest(url: youtubeURL) )
但是,如果您实际上没有流式传输,并且有人尝试播放视频,则使用此选项会在 WebView 中引发错误。要为此进行计划,请添加类似于以下功能的内容:
let googleAPI = "[youtubeAPIKey]"
func checkLive()
let liveChannel = URL(string: "https://www.googleapis.com/youtube/v3/search?part=snippet&channelId=\(channelID)&type=video&eventType=live&key=\(googleAPI)")
URLSession.shared.dataTask(with:liveChannel!, completionHandler: (data, response, error) in
guard let data = data, error == nil else return
do
let parsedData = try JSONSerialization.jsonObject(with: data, options: []) as! [String:Any]
let pageInfo = parsedData["pageInfo"] as! [String:Any]
print(pageInfo)
let currentState = pageInfo["totalResults"] as! Int
print(currentState)
if currentState == 0
print("No Stream Right Now")
self.LiveStreamViewer.isHidden = true
//DO SOMETHING TO LET THEM KNOW YOU ARENT STREAMING
else
print("Streaming")
self.LiveStreamViewer.isHidden = false
self.loadLiveStream()
catch let error as NSError
print(error)
).resume()
【讨论】:
这是否需要用户登录他的 youtube 帐户? 绝对是一个解决方案,但在配额成本方面非常昂贵。以上是关于如何在我的 ios 应用程序中嵌入 youtube 或 facebook 直播?的主要内容,如果未能解决你的问题,请参考以下文章
用于 youtube 嵌入式视频的 iOS 6.0+ 自动旋转
IOS6 横向在仅纵向 iPhone 应用程序中从 uiwebview 播放嵌入的 youtube 视频