如何在我的 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 视频?

用于 youtube 嵌入式视频的 iOS 6.0+ 自动旋转

IOS6 横向在仅纵向 iPhone 应用程序中从 uiwebview 播放嵌入的 youtube 视频

如何在 Laravel 中上传和显示嵌入的 youtube 视频

如何在引导程序的中心对齐 YouTube 嵌入视频

如何在 uiwebview iOS 中处理 YouTube 视频事件(开始、结束等)