Ive इस परियोजना से कक्षाओं का प्रयोग किया: https://github.com/larcus94/LBYouTubeView यह मेरे लिए ठीक काम करता है। मैं यूट्यूब वीडियो डाउनलोड कर सकते हैं।
LBYouTubeExtractor *extractor = [[[LBYouTubeExtractor alloc] initWithURL:[NSURL URLWithString:[NSString stringWithFormat:(@"http://www.youtube.com/watch?v=%@"), self.videoID ]] quality:LBYouTubeVideoQualityLarge] autorelease];
[extractor extractVideoURLWithCompletionBlock:^(NSURL *videoURL, NSError *error) {
if(!error) {
NSLog(@"Did extract video URL using completion block: %@", videoURL);
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSData *data = [NSData dataWithContentsOfURL: videoURL];
NSString *pathToDocs = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *filename = [NSString stringWithFormat:(@"video_%@.mp4"), self.videoID ];
[data writeToFile:[pathTODocs stringByAppendingPathComponent:filename] atomically:YES];
NSLog(@"File %@ successfully saved", filename);
});
} else {
NSLog(@"Failed extracting video URL using block due to error:%@", error);
}
}];
आप उपरोक्त पदों में वर्णित तकनीक का उपयोग कर डाउनलोड करने की प्रगति को दिखाने के कर सकते हैं:
मैं इस कोड का इस्तेमाल किया।
शॉन, यह कुछ सुझाव है। लेकिन कुछ चीनी ऐप में मैंने जो कार्यान्वयन देखा वह कस्टम प्रगति डाउनलोड दिखाता है और डाउनलोड के बाद किसी भी समय खेलने की अनुमति देता है, इसे पहले खेलने की ज़रूरत नहीं है। एक ही समय में कई डाउनलोड प्रगति हो सकते हैं। – Biko
मेरे सैंडबॉक्स में (https://github.com/comonitos/youtube_video)। मैं दस्तावेज़ फ़ोल्डर में यूट्यूब से वीडियो डाउनलोड करता हूं। प्रगति दिखाने के लिए आप NSURLConnection प्रतिनिधि या ASIHTTPRequest (allseeing-i.com/ASIHTTPRequest) का उपयोग कर सकते हैं: 1- ऐप यूट्यूब यूआरएल प्राप्त कर रहा है। 2 ASIHTTPRequest || NSURLConnection - प्रगति दिखाने के साथ डाउनलोड करें। – comonitos