Ytvimeoextractor สกัด MP4 Streams ของวิดีโอ Vimeo ซึ่งสามารถใช้เล่นผ่าน MPMoviePlayerViewController
หรือ AVPlayerView
ระดับ | วัตถุประสงค์ |
---|---|
YTVimeoExtractor | YTVimeoExtractor เป็นคลาสหลักและวัตถุประสงค์เพียงอย่างเดียวคือการดึงข้อมูลเกี่ยวกับวิดีโอ Vimeo ใช้สองวิธีหลัก fetchVideoWithIdentifier:withReferer:completionHandler: หรือ fetchVideoWithVimeoURL:withReferer:completionHandler: เพื่อรับข้อมูลวิดีโอ |
YTVimeoExtractorOperation | YTVimeoExtractorOperation เป็นคลาสย่อยของ NSOperation และใช้ในการดึงและแยกข้อมูลเกี่ยวกับวิดีโอ Vimeo นี่เป็นคลาสระดับต่ำ โดยทั่วไปคุณควรใช้คลาส YTVimeoExtractor ระดับสูงขึ้น |
YTVimeoURLParser | YTVimeoURLParser ใช้เพื่อตรวจสอบและแยกวิเคราะห์ url url วัตถุประสงค์หลักของชั้นเรียนคือการตรวจสอบว่า URL ที่กำหนดสามารถจัดการได้โดยคลาส YTVimeoExtractor หรือไม่ |
YTVimeoVideo | YTVimeoVideo แสดงวิดีโอ Vimeo ใช้คลาสนี้เพื่อเข้าถึงข้อมูลเกี่ยวกับวิดีโอเฉพาะ อย่าเริ่มต้นวัตถุ YTVimeoVideo ด้วยตนเอง การใช้วิธีการ -init จะทำการยกเว้นแทนที่จะใช้วิธีหลักสองวิธีหลักของคลาส YTVimeoExtractor เพื่อรับวัตถุ YTVimeoVideo |
วิธีการติดตั้งที่ต้องการคือผ่าน cocoapods เพียงเพิ่มลงใน podfile ของคุณ
pod 'YTVimeoExtractor'
และเรียกใช้ pod install
หรือคุณสามารถคัดลอกโฟลเดอร์ ytvimeoextractor ไปยังโครงการของคุณ
# import " YTVimeoExtractor.h "
คาร์เธจเป็นตัวจัดการการพึ่งพากระจายอำนาจที่สร้างการพึ่งพาของคุณและให้กรอบไบนารีแก่คุณ
คุณสามารถติดตั้ง Carthage ด้วย Homebrew โดยใช้คำสั่งต่อไปนี้:
$ brew update
$ brew install carthage
หากต้องการรวม Ytvimeoextractor เข้ากับโครงการ XCode ของคุณโดยใช้ Carthage ให้ระบุใน Cartfile
ของคุณ:
github "lilfaf/YTVimeoExtractor"
เรียกใช้ carthage
เพื่อสร้างเฟรมเวิร์กและลาก YTVimeoExtractor.framework
ที่สร้างขึ้นในโครงการ XCode ของคุณ
ใช้สองวิธีบล็อกในคลาส YTVimeoExtractor
ทั้งสองวิธีจะเรียกว่าเสร็จสมบูรณ์ซึ่งดำเนินการในเธรดหลัก หากตัวจัดการความสำเร็จเป็นศูนย์จะมีการโยนข้อยกเว้น FilctionHandler มีสองพารามิเตอร์เป็นวัตถุ YTVimeoVideo
หากการดำเนินการเสร็จสมบูรณ์และวัตถุ NSError
ที่อธิบายถึงเครือข่ายหรือข้อผิดพลาดในการแยกวิเคราะห์ที่อาจเกิดขึ้น
[[YTVimeoExtractor sharedExtractor ]fetchVideoWithVimeoURL: @" https://vimeo.com/channels/staffpicks/147876560 " withReferer: nil completionHandler: ^(YTVimeoVideo * _Nullable video, NSError * _Nullable error) {
if (video) {
[ self .titleTextField setStringValue: video.title];
// Will get the lowest available quality.
// NSURL *lowQualityURL = [video lowestQualityStreamURL];
// Will get the highest available quality.
NSURL *highQualityURL = [video highestQualityStreamURL ];
AVPlayer *player = [[AVPlayer alloc ]initWithURL:highQualityURL];
self. playerView . player = player;
self. playerView . videoGravity = AVLayerVideoGravityResizeAspectFill;
[ self .playerView.player play ];
[ self .playerView becomeFirstResponder ];
} else {
[[ NSAlert alertWithError: error]runModal];
}
}];
[[YTVimeoExtractor sharedExtractor ]fetchVideoWithVimeoURL: @" https://vimeo.com/channels/staffpicks/147876560 " withReferer: nil completionHandler: ^(YTVimeoVideo * _Nullable video, NSError * _Nullable error) {
if (video) {
self. titleLabel . text = [ NSString stringWithFormat: @" Video Title: %@ " ,video.title];
// Will get the lowest available quality.
// NSURL *lowQualityURL = [video lowestQualityStreamURL];
// Will get the highest available quality.
NSURL *highQualityURL = [video highestQualityStreamURL ];
MPMoviePlayerViewController *moviePlayerViewController = [[MPMoviePlayerViewController alloc ]initWithContentURL:highQualityURL];
[ self presentMoviePlayerViewControllerAnimated: moviePlayerViewController];
} else {
UIAlertView *alertView = [[UIAlertView alloc ]init];
alertView. title = error. localizedDescription ;
alertView. message = error. localizedFailureReason ;
[alertView addButtonWithTitle: @" OK " ];
alertView. delegate = self;
[alertView show ];
}
}];
หากวิดีโอ Vimeo มีข้อ จำกัด ระดับโดเมนและสามารถเล่นได้จากโดเมนเฉพาะมันเป็นเรื่องง่ายที่จะเพิ่มผู้อ้างอิง:
[[YTVimeoExtractor sharedExtractor ]fetchVideoWithVimeoURL: @" https://vimeo.com/channels/staffpicks/147876560 " withReferer: @" http://www.mywebsite.com " completionHandler: ^(YTVimeoVideo * _Nullable video, NSError * _Nullable error) {
if (video) {
// Will get the lowest available quality.
// NSURL *lowQualityURL = [video lowestQualityStreamURL];
// Will get the highest available quality.
NSURL *highQualityURL = [video highestQualityStreamURL ];
MPMoviePlayerViewController *moviePlayerViewController = [[MPMoviePlayerViewController alloc ]initWithContentURL:highQualityURL];
[ self presentMoviePlayerViewControllerAnimated: moviePlayerViewController];
} else {
UIAlertView *alertView = [[UIAlertView alloc ]init];
alertView. title = error. localizedDescription ;
alertView. message = error. localizedFailureReason ;
[alertView addButtonWithTitle: @" OK " ];
alertView. delegate = self;
[alertView show ];
}
}];
Ytvimeoextractor ได้รับใบอนุญาตภายใต้ใบอนุญาต MIT ดูไฟล์ใบอนุญาตสำหรับข้อมูลเพิ่มเติม