iPHONE У меня появляется белый экран при попытке воспроизвести видео, загруженное и сохраненное в каталоге Documents - PullRequest
1 голос
/ 29 ноября 2011

Я видел некоторые ответы на этот вопрос, но они не работали.

Я загружаю видео с веб-сервера, сохраняю его в каталоге документов и затем пытаюсь воспроизвести.Моя первая версия сохранила его в домашнем каталоге, и он работал нормально.Когда я изменяю код, чтобы сохранить его в каталоге документов, видео больше не воспроизводится,

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

NSString *userDocumentsPath = nil;

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
                                                      NSUserDomainMask, YES);
if ([paths count] > 0) 
{
    userDocumentsPath = [paths objectAtIndex:0];
}

код для сохранения видео

/////////////////////////////////////////////////////////////////////////////////
// Save vedio
NSFileManager *mFile= [NSFileManager defaultManager];
NSString *userDocumentsPath = nil;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 
                                                      NSUserDomainMask, YES);
if ([paths count] > 0) 
{
    userDocumentsPath = [paths objectAtIndex:0];
}

NSString *filename=[userDocumentsPath stringByAppendingPathComponent:@"ted.mp4"];

b=[mFile createFileAtPath:filename contents: receivedData attributes:nil];

if ( [mFile fileExistsAtPath:filename]==true )
    i++;

код для воспроизведения видео

NSString *userDocumentsPath = nil;
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 
                                                       NSUserDomainMask, YES);
if ([paths count] > 0) 
{
    userDocumentsPath = [paths objectAtIndex:0];
}

NSString *filename=[userDocumentsPath stringByAppendingPathComponent:@"ted.mp4"];
// play it
NSURL *fileUrl=[ NSURL fileURLWithPath:filename];//
mp=[[MPMoviePlayerController alloc] initWithContentURL: fileUrl];
...