Скачать видео перед просмотром Iphone SDK - PullRequest
1 голос
/ 11 февраля 2010

Я разрабатываю приложение, которое требует воспроизведения видео. Однако я не хочу упаковывать видео с приложением. Вместо этого я хотел бы загрузить видео в NSDocumentDirectory, а затем воспроизвести его с помощью MPMoviePlayerController.

Кто-нибудь есть идея, как я могу скачать видео с URL-адреса?

Thanx, Gezim

Ответы [ 2 ]

4 голосов
/ 11 февраля 2010

Попробуйте это:

NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
[request setHTTPMethod:@"GET"];
NSError *error;
NSURLResponse *response;

NSString *documentFolderPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
NSFileManager *fileManager = [NSFileManager defaultManager];
NSString *videosFolderPath = [documentFolderPath stringByAppendingPathComponent:@"videos"]; 

//Check if the videos folder already exists, if not, create it!!!
BOOL isDir;
if (([fileManager fileExistsAtPath:videosFolderPath isDirectory:&isDir] && isDir) == FALSE) {
    [[NSFileManager defaultManager] createDirectoryAtPath:videosFolderPath attributes:nil];
}


NSData *urlData;
NSString *downloadPath = @"http://foo.com/videos/bar.mpeg";
[request setURL:[NSURL URLWithString:downloadPath]];
urlData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSString *filePath = [videosFolderPath stringByAppendingPathComponent:@"bar.mpeg"];
BOOL written = [urlData writeToFile:filePath atomically:NO];
if (written)
    NSLog(@"Saved to file: %@", filePath);
1 голос
/ 11 февраля 2010

Создайте NSURLRequest, вызовите [NSURLConnection connectionWithRequest:delegate:] и реализуйте методы делегата NSURLConnection для получения данных по мере их загрузки.

...