Воспроизвести видео, хранящееся в NSData - PullRequest
1 голос
/ 14 февраля 2012

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

Это мой код:

NSString *urlString = [NSTemporaryDirectory() stringByAppendingPathComponent:@"test.m4v"];
NSURL *url = [[NSURL alloc] initWithString:urlString];

moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL: url];
[moviePlayer prepareToPlay];
moviePlayer.view setFrame: self.view.bounds];
[self.view addSubview: moviePlayer.view];
[moviePlayer play];

Единственное, о чем я могу думать, это то, что для записи файла требуется некоторое время, и проигрыватель пытается получить к нему доступ, прежде чем это будет сделано. Возможно ли это, и если да, то как мне это исправить?

1 Ответ

3 голосов
/ 14 февраля 2012

При работе с файлами вы должны указать NSURL, что URL должен указывать на файл:

NSString *urlString = [NSTemporaryDirectory() stringByAppendingPathComponent:@"test.m4v"];
NSURL *url = [NSURL fileURLWithPath:urlString];

moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL: url];
[moviePlayer prepareToPlay];
moviePlayer.view setFrame: self.view.bounds];
[self.view addSubview: moviePlayer.view];
[moviePlayer play];
...