2013-02-19 5 views
0

У меня есть проект, который кто-то пишет. проект сохраняет видео файл по этому пути, file://localhost/var/mobile/Applications/CAC8F2CB-1C7D-4805-BF1A-42B63B258E95/Documents/output.mp4 Как читать файлы из каталога

Я хочу воспроизвести файл с помощью MPMoviePlayerController, как я могу получить доступ к файлу?

ответ

1

Firslty загрузить путь и файл URL:

NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; 

NSString *localFilePath = [photoDirectoryPath stringByAppendingPathComponent:@"output.mp4"]; 

Затем загрузить MPMoviePlayerController с U RL

- (void)initMoviePlayer 
{ 
didExit = NO; 

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(moviePreloadDidFinish:) 
              name:MPMoviePlayerLoadStateDidChangeNotification 
              object:mMoviePlayer]; 

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(moviePlayBackDidFinish:) 
              name:MPMoviePlayerPlaybackDidFinishNotification 
              object:nil]; 

NSLog(@"initMoviePlayer: %@ ",[self getMovieURL]); 

mMoviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:[self getMovieURL]]; 

mMoviePlayer.shouldAutoplay = YES; 

mMoviePlayer.view.hidden = YES; 

[mMoviePlayer setControlStyle:MPMovieControlStyleNone]; 

mMoviePlayer.view.frame = [self.view bounds]; 

mMoviePlayer.scalingMode = MPMovieScalingModeNone; 

[[self view] addSubview:[mMoviePlayer view]]; 

[mMoviePlayer play]; 

} 

- (void) moviePreloadDidFinish:(NSNotification*)notification { 

// start playing the movie 

    mMoviePlayer.view.hidden = NO; 

    animateTimer = [NSTimer scheduledTimerWithTimeInterval:0.5 
               target:self 
               selector:@selector(playMovie:) 
               userInfo:nil 
               repeats:NO]; 
} 

- (void) moviePlayBackDidFinish:(NSNotification*)notification 
{   

} 
+0

спасибо за попытку, но фильм не играет –

+0

EDITED: также я просто протестировал выше, и он отлично работает. – Dev2rights

+0

не работает Я получаю я получаю ошибку errorLog MPMovieFinishReasonPlaybackError –

1

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

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *fullPath = [documentsDirectory stringByAppendingPathComponent:@"output.mp4"]; 

Здесь в fullPath вы будете иметь путь, который вы упомянули выше.

Более подробно о том, как играть видео, см this tutorial

Надеется, что это помогает ..

+0

Почему вы используете 'stringWithFormat'? –

+0

@MidhunMP На самом деле у меня была целочисленная переменная для воспроизведения многих видео, любой отредактированный ответ. Спасибо :) –

1

Попробуйте этот код мат,

NSString *documentDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES) objectAtIndex:0]; 

NSString *videoFilePath = [documentDirectory stringByAppendingPathComponent:@"output.mp4"]; 
    NSURL *videoURL = [NSURL URLWithString:videoFilePath]; 

MPMoviePlayerController *moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:videoURL]; 
1

Если вы храните выше URL где

NSString *fullURL = @"/var/mobile/Applications/CAC8F2CB-1C7D-4805-BF1A-42B63B258E95/Documents/output.mp4" 
NSURL *movieURL = [NSURL fileURLWithPath: isDirectory:YES]; //If YES not works use NO 
MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL:movieURL]; 

Надежда, что помогает

Смежные вопросы