ios - 使用 HCVimeoVideoExtractor 播放 Vimeo 视频,无法获取特定质量的视频 URL
问题描述
我正在使用这个库https://github.com/superm0/HCVimeoVideoExtractor来播放 vimeo url。它工作正常,但更改质量不会返回某些视频的 videoURL。我说的是这条线
if let videoURL = vid.videoURL[.Quality1080p]
我无法理解为什么当我通过 Quality1080p 时它不返回视频的 videoURL?如何解决?我的视频有问题吗?我需要将所有视频转换为相同质量然后上传到 Vimeo 吗?
以下是我的代码:
import UIKit
import HCVimeoVideoExtractor
import AVKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func playClicked(_ sender: UIButton) {
guard let url = URL(string: "https://vimeo.com/1234567") else {
print("Error url nill")
return
}
HCVimeoVideoExtractor.fetchVideoURLFrom(url: url, completion: { ( video:HCVimeoVideo?, error:Error?) -> Void in
if let err = error {
print("Error = \(err.localizedDescription)")
return
}
guard let vid = video else {
print("Invalid video object")
return
}
print("Title = \(vid.title), url = \(vid.videoURL), thumbnail = \(vid.thumbnailURL)")
if let videoURL = vid.videoURL[.Quality1080p] {
let player = AVPlayer(url: videoURL)
DispatchQueue.main.async {
let playerController = AVPlayerViewController()
playerController.player = player
self.present(playerController, animated: true) {
player.play()
}
}
} else {
print("Error: videoURL not found")
}
})
}
}
解决方案
推荐阅读
- node.js - 如何更改目录。Multer/express.js
- python - 如何使用 Python 的 matplotlib 绘制地图,以便也包括小岛国?
- java - 如何在链接列表中的另一个数据之前插入数据?
- java - NoSuchMethodError:org.docx4j.org.apache.xml.serializer.SerializerFactory.getSerializer
- elasticsearch - Spring Data Elasticsearch 2.1.16:如何获取排序距离?
- r - 在 R 中清理下载的 pdf 数据集
- vue.js - Vuejs 从 Google 电子表格中获取数据不返回任何内容
- node.js - 使用 Google Cloud Winston Logging (Nodejs) 的日志前后有趣的字符
- java - Thread.sleep() 在我的 JButton 文本更改之前启动(动画太长)如何防止这种情况?
- javascript - JavaScript Array 已过滤但选择选项未过滤重复 ID?