Я боролся с этим в течение нескольких часов ... Я пытаюсь воспроизвести видео, которое я загружаю и сохраняю с помощью AVPlayer, но ничего не появляется. Что меня больше всего удивило, так это то, что если я использую образец URL-адреса Apple для тестирования HTTP-трансляции , что видео играет. (http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8) Однако, когда я меняю URL-адрес на локальный путь к файлу, видео не воспроизводится. Я записал видео с iPhone и подтвердил, что формат (.mov) воспроизводится. Вот код блока:AVPlayer не воспроизводит локальные видео
AVPlayer *mPlayer = [[AVPlayer alloc] init];
//mPlayer = [mPlayer initWithURL:[NSURL URLWithString:@"http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8"]];
mPlayer = [mPlayer initWithURL:filePath];
playerLayer = [AVPlayerLayer playerLayerWithPlayer:mPlayer];
[[[self view] layer] insertSublayer:playerLayer atIndex:3];
[playerLayer setFrame:self.view.bounds];
[mPlayer play];
NSLog(@"Playing video at: %@", filePath);
Пример вывода: Playing video at: /var/mobile/Applications/B298EE7D-D95D-4CCC-8466-2C0270E2071E/Documents/394665262.174180.mov
EDIT: решаемые с помощью [NSURL fileURLWithPath: local_url_string]
Как создается файл 'FilePath'? –
Спасибо, Мартин! Я решил это с помощью 'fileURLWithPath' – mauzepeda
Нельзя отправлять несколько сообщений' init'/'init ...' на тот же объект. Вы должны создать AVPlayer только в этой первой строке, так как '[[AVPlayer alloc] initWithURL: [NSURL fileURLWithPath: ...]]'. –