IGVimeoExtractor 帮助您获取可在 iOS 原生播放器中使用的 mp4 链接。您还可以在移动、标准和高清质量之间进行选择。
IGVimeoExtractor 不使用 UIWebView,这使得它运行更快且更干净。
IGVimeoExtractor 是 YTVimeoExtractor 的分支。
首选的安装方式是通过 CocoaPods。只需将其添加到您的 Podfile
pod 'IGVimeoExtractor'
并运行 pod install
。
另外,您也可以直接将 IGVimeoExtractor 文件夹复制到您的项目中。
#import "IGVimeoExtractor.h"
使用基于块的函数和传递视频 URL 和所需的画质
[IGVimeoExtractor fetchVideoURLFromURL:self.textURL.text quality:self.quality completionHandler:^(IGVimeoVideo* video, NSError *error) {
if (error) {
NSLog(@"Error : %@", [error localizedDescription]);
} else if (video) {
NSLog(@"Extracted url : %@, title: %@", [video.videoURL absoluteString], video.title);
self.playerView = [[MPMoviePlayerViewController alloc] initWithContentURL:video.videoURL];
[self.playerView.moviePlayer prepareToPlay];
[self presentViewController:self.playerView animated:YES completion:^(void) {
self.playerView = nil;
}];
}
}];
或者创建一个 IGVimeoExtractor 实例。
self.extractor = [[IGVimeoExtractor alloc] initWithURL:@"http://vimeo.com/58600663" quality:YTVimeoVideoQualityMedium];
self.extractor.delegate = self;
[self.extractor start];
并在您的 ViewController 中实现 YTVimeoExtractor 代理方法。
- (void)vimeoExtractor:(IGVimeoExtractor * _Nonnull)extractor didSuccessfullyExtractVimeoVideos:(NSArray<IGVimeoVideo*>* _Nonnull)videos
{
// handle success
}
- (void)vimeoExtractor:(IGVimeoExtractor *)extractor failedExtractingVimeoURLWithError:(NSError *)error;
{
// handle error
}
如果 Vimeo 视频有域级别限制,并且只能从特定的域播放,则很容易添加一个引用者
[YTVimeoExtractor fetchVideoURLFromURL:@"http://vimeo.com/58600663"
referer:@"http://www.mywebsite.com"
completionHandler:^(IGVimeoVideo* video, NSError *error) {
// handle results
}];
更多详细信息,请查看示例应用程序。
由于 YTVimeoExtractor 是在 ARC 环境中部署的,因此它需要 iOS 7.0 或以上。
YTVimeoExtractor 在 MIT 许可下发布。请参阅 LICENSE 文件以获取详细信息。