在應用程序中播放Youtube視頻很容易,並且周圍有很多文檔。在應用程序中將Youtube視頻保存到iPhone
有兩個問題與:
- 關閉YouTube播放器後,如果用戶想再次發揮它,它必須等待在線流媒體再次
- 不能在家裏玩離線(負載視頻觀看的道路上)
是否有人代碼:
- 下載YouTube視頻Documents文件夾,並顯示下載進度
- 播放下載的視頻從文件夾加載文件時(未連接到互聯網,這意味着即使)
在應用程序中播放Youtube視頻很容易,並且周圍有很多文檔。在應用程序中將Youtube視頻保存到iPhone
有兩個問題與:
是否有人代碼:
我會播放視頻,並找出正在存儲的臨時文件是在哪裏。如果您可以訪問它,請將其複製到某個文檔文件夾以供離線查看。
我個人不知道如何下載YouTube視頻(並且代碼太大而無法在此處作答)。
但是,這裏有一個完整的youtube下載示例here。 這是一個開源的YouTube下載程序,名爲LoadTube:here's the a link to the source code。
感謝您的鏈接 - 這將有所幫助! – Biko 2011-05-24 04:26:36
從YouTube下載視頻:
NSTemporaryDirectory()
或您的Documents目錄中的臨時名稱文件)上打開。sendSynchronousRequest:returningResponse:error:
。connection:didReceiveResponse:
委託方法中,讀出要下載的數據的長度以正確更新進度欄。connection:didReceiveData:
委託方法中,將數據寫入輸出流/文件句柄並根據需要更新進度欄。connectionDidFinishLoading:
或connection:didFailWithError:
中,關閉輸出流/文件句柄並根據需要重命名或刪除臨時文件。要播放它,只需使用NSURL的fileURLWithPath:
在Documents目錄中創建指向本地文件的URL並像播放任何遠程視頻一樣播放。
該應用不會下載視頻。請讓我知道如果我錯過任何東西來添加代碼。 – Warrior 2012-09-14 10:18:01
這是我的例子:https://github.com/comonitos/youtube_video
我用PSYouTubeExtractor.h類由彼得·斯坦伯格它可以讓YouTube的MP4視頻網址,比下載和觀看的是不是一個問題
NSURLConnection的 + NSNotificationCenter + PSYouTubeExtractor + NSMutableData
香港專業教育學院使用的類從這個項目:https://github.com/larcus94/LBYouTubeView 它適合我。 我可以下載youtube視頻。
我用這個代碼:
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);
}
}];
您可以顯示使用以上職位描述的技術下載的進度。
完美解決方案 – 2013-08-05 08:35:18
完美! – Trident 2015-04-24 19:59:44
@Petr,現在不適合我。你能告訴我這是現在的工作嗎? – 2015-07-22 09:35:35
肖恩,這是一些建議。但我在一些中文應用中看到的實現顯示自定義進度下載,並允許在下載後隨時播放,無需先播放。可以同時進行許多下載。 – Biko 2011-02-23 11:42:13
在我的沙箱中(https://github.com/comonitos/youtube_video)。我從YouTube上的文檔文件夾下載視頻。爲了顯示進度,您可以使用NSURLConnection委託或ASIHTTPRequest(allseeing-i.com/ASIHTTPRequest):1-應用程序獲取YouTube網址。 2 ASIHTTPRequest || NSURLConnection - 下載並顯示進度。 – comonitos 2012-03-09 08:41:51