Проблема с воспроизведением локального файла MPMediaPlayer

У меня есть функция видеозаписи моего приложения, которая успешно записывает и сохраняет в каталоге документов на устройстве (к которому я могу получить доступ из iTunes, когда я подключаю устройство). Моя проблема в том, что я сделал пользовательский интерфейс просмотра для воспроизведения видео с APP, который не имеет доступа или воспроизведения.

Вот URL моего видео = /var/mobile/Applications/C13AB577-FFB2-4814-BD39-A9835A2DAE28/Documents/WO-00604-140428101904.349.mp4

Мой код реализации:

mediaUrl = [mediaUrl URLByAppendingPathComponent:mediaName];

mediaPlayer.movieSourceType = MPMovieSourceTypeStreaming;

mediaPlayer = [[MPMoviePlayerController alloc] init];

mediaPlayer.controlStyle=MPMovieControlStyleDefault;

mediaPlayer.contentURL = mediaUrl;

mediaPlayer.shouldAutoplay = YES;

mediaPlayer.controlStyle=MPMediaTypeAnyVideo;

[mediaPlayer prepareToPlay];

[mediaPlayer.view setFrame: CGRectMake(0, 0, 360.0, 480.0)];

[self.view addSubview:mediaPlayer.view];

[mediaPlayer play];

mediaURL в отладке имеет следующее значение: http://prntscr.com/3e6ohi


person Onder OZCAN    schedule 28.04.2014    source источник
comment
Убедитесь, что ваш URL-адрес инициализирован следующим образом: NSURL *url = [NSURL fileURLWithPath:filePath] ;   -  person KudoCC    schedule 28.04.2014
comment
@KudoCC, если вы посмотрите на скриншот, на который я дал ссылку, вы увидите, что NSURL имеет полный путь.   -  person Onder OZCAN    schedule 28.04.2014
comment
Нет, URL должен быть в формате file:///var....   -  person KudoCC    schedule 28.04.2014
comment
@KudoCC, как же я забыл эту простую вещь! Теперь это работает как шарм :)   -  person Onder OZCAN    schedule 28.04.2014


Ответы (1)


Я успешно работаю с текущим кодом, я думаю, вам следует проверить свой mediaURL:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;
basePath = [basePath stringByAppendingString:@"/MyVideo.mp4"];
NSURL *url = [NSURL fileURLWithPath:basePath];
mediaPlayer.contentURL = url;
person nmh    schedule 28.04.2014