xcode XCDYouTubeClient无法在Swift 4中播放视频

dzjeubhm  于 2023-01-10  发布在  Swift
关注(0)|答案(2)|浏览(136)

我尝试通过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)
       }
}

谢啦,谢啦

pxiryf3j

pxiryf3j1#

你可以使用下面的代码。一些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)
   } 
}
vlju58qv

vlju58qv2#

我试过这句话:

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)
   } 
}

但是!===〉视频无和错误:视频操作已完成,但出现错误:无法完成该操作。(XCDYouTubeVideoErrorDomain错误-3。

相关问题