【问题标题】:XCDYouTubeClient Not playing Video in Swift 4XCDYouTubeClient 不在 Swift 4 中播放视频
【发布时间】:2020-01-04 07:44:12
【问题描述】:

我正在尝试通过 XCDYouTubeClient 库播放 youtube 视频,但它不播放视频。我还参考了文档,但它没有帮助我解决问题

let playerViewController = AVPlayerViewController()
self.present(playerViewController, animated: true, completion: nil)

XCDYouTubeClient.default().getVideoWithIdentifier("tG7vx7-3sl0") { [weak playerViewController] (video: XCDYouTubeVideo?, error: Error?) in
      if let streamURLs = video?.streamURLs, let streamURL = (streamURLs[XCDYouTubeVideoQualityHTTPLiveStreaming] ?? streamURLs[XCDYouTubeVideoQuality.HD720] ?? streamURLs[XCDYouTubeVideoQuality.medium360] ?? streamURLs[XCDYouTubeVideoQuality.small240]) {
           playerViewController?.player = AVPlayer(url: streamURL)
      } else {
           self.dismiss(animated: true, completion: nil)
       }
}

谢谢

【问题讨论】:

    标签: ios swift xcode youtube-api swift4


    【解决方案1】:

    您可以使用以下代码。一些 youtube 链接没有XCDYouTubeVideoQuality.HD720 视频质量。只需将其移除,视频就会开始播放。

    XCDYouTubeClient.default().getVideoWithIdentifier("tG7vx7-3sl0") { [weak self] (video, error) in
    
       if video != nil {
         var streamURLs = video?.streamURLs
         let streamURL = streamURLs?[XCDYouTubeVideoQualityHTTPLiveStreaming] ?? streamURLs?[NSNumber(value: XCDYouTubeVideoQuality.medium360.rawValue)] ?? streamURLs?[NSNumber(value: XCDYouTubeVideoQuality.small240.rawValue)]
         if let streamURL = streamURL {
             playerViewController?.player = AVPlayer(url: streamURL)
         }
         playerViewController?.player?.play()
    
       } else {
          self?.dismiss(animated: true)
       } 
    }
    

    【讨论】:

    • 这不是正确的答案。 XCDYouTubeVideoQuality.HD720 不可用不会产生影响,因为 OP 正在使用可选的展开。
    猜你喜欢
    • 1970-01-01
    • 2020-06-09
    • 1970-01-01
    • 2018-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多