XCDYouTubeClient 不在 Swift 4 中播放视频
Posted
技术标签:
【中文标题】XCDYouTubeClient 不在 Swift 4 中播放视频【英文标题】:XCDYouTubeClient Not playing Video in 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)
谢谢
【问题讨论】:
【参考方案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 正在使用可选的展开。以上是关于XCDYouTubeClient 不在 Swift 4 中播放视频的主要内容,如果未能解决你的问题,请参考以下文章
为啥不在swift 3中将database.db从bundle复制到文档目录? [复制]
如何不在 UICollectionView 中重用单元格 - Swift