YoutubeDirectLinkExtractor
YoutubeDirectLinkExtractor 允许您获取YouTube视频的直接链接,您可以轻松地与AVPlayer一起使用。它使用类型安全和可选功能来确保在提取链接时的稳定性。尽管存在一些流行的替代方案,不过它们采用的是更简单且风险更高的方法:[YoutubeSourceParserKit](https://github.com/mojilala/YoutubeSourceParserKit),[HCYoutubeParser](https://github.com/hellozimi/HCYoutubeParser)。
安装
CocoaPods
# Podfile
use_frameworks!
target 'YOUR_TARGET_NAME' do
pod 'YoutubeDirectLinkExtractor'
end
替换YOUR_TARGET_NAME
,然后在Podfile
目录中输入:
$ pod install
Carthage
将此内容添加到Cartfile
中:
github "devandsev/YoutubeDirectLinkExtractor"
在Cartfile
目录中输入:
$ carthage update
使用示例
这里使用的任何解包都是为了让示例变得更短,不要在实际项目中使用它。
基本使用
let y = YoutubeDirectLinkExtractor()
y.extractInfo(for: .urlString("https://www.youtube.com/watch?v=HsQvAnCGxzY"), success: { info in
print(info.highestQualityPlayableLink)
}) { error in
print(error)
}
从ID中提取最低质量的视频链接
let y = YoutubeDirectLinkExtractor()
y.extractInfo(for: .id("HsQvAnCGxzY"), success: { info in
print(info.lowestQualityPlayableLink)
}) { error in
print(error)
}
使用提取的视频链接与AVPlayer一起使用
let y = YoutubeDirectLinkExtractor()
y.extractInfo(for: .urlString("https://www.youtube.com/watch?v=HsQvAnCGxzY"), success: { info in
let player = AVPlayer(url: URL(string: info.highestQualityPlayableLink!)!)
let playerViewController = AVPlayerViewController()
playerViewController.player = player
self.present(playerViewController, animated: true) {
playerViewController.player!.play()
}
}) { error in
print(error)
}
许可
本项目的许可协议为MIT许可 - 有关详细信息,请参阅LICENSE文件。