Воспроизведение видео iOS с помощью MPMoviePlayerController

Я получил этот кусок кода:

theMoviPlayer = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL fileURLWithPath:@"/Resources/disc.mp4"]]; theMoviPlayer.controlStyle = MPMovieControlStyleFullscreen; theMoviPlayer.view.transform = CGAffineTransformConcat(theMoviPlayer.view.transform, CGAffineTransformMakeRotation(M_PI_2)); UIWindow *backgroundWindow = [[UIApplication sharedApplication] keyWindow]; [theMoviPlayer.view setFrame:backgroundWindow.frame]; [backgroundWindow addSubview:theMoviPlayer.view]; [theMoviPlayer play]; 

Но я действительно не знаю, как добавить видео в мой проект. В какой папке я должен поставить видеофайл !? Или мне нужно сделать что-то еще, чтобы добавить его в мой проект?

РЕДАКТИРОВАТЬ:

Это похоже на xcode, правильно? Потому что сейчас я получаю ошибку воспроизведения. Раньше я использовал url для воспроизведения этого видео, и это сработало неплохо, но с этим файлом локально не 🙁

введите описание изображения здесь

Хорошо, что ваш пучок пакетов выглядит поджатым, ниже должно работать.

 NSBundle *bundle = [NSBundle mainBundle]; NSString *moviePath = [bundle pathForResource:@"disc" ofType:@"mp4"]; NSURL *movieURL = [[NSURL fileURLWithPath:moviePath] retain]; theMoviPlayer = [[MPMoviePlayerController alloc] initWithContentURL:movieURL]; theMoviPlayer.controlStyle = MPMovieControlStyleFullscreen; theMoviPlayer.view.transform = CGAffineTransformConcat(theMoviPlayer.view.transform, CGAffineTransformMakeRotation(M_PI_2)); UIWindow *backgroundWindow = [[UIApplication sharedApplication] keyWindow]; [theMoviPlayer.view setFrame:backgroundWindow.frame]; [backgroundWindow addSubview:theMoviPlayer.view]; [theMoviPlayer play]; 

Добавить MediaPlayer Framework

импортировать его в файл

 #import <MediaPlayer/MediaPlayer.h> 

Создание объекта MPMoviePlayerController

 MPMoviePlayerController * moviePlayer; 

напишите этот код, где хотите воспроизвести видео

 NSString *filepath = [[NSBundle mainBundle] pathForResource:@"spacetest.mp4" ofType:nil]; NSURL *fileURL = [NSURL fileURLWithPath:filepath]; moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:fileURL]; [self.view addSubview:moviePlayer.view]; moviePlayer.fullscreen = YES; [moviePlayer play]; 

Используя HTML5, как я сказал выше:

  NSString *videoTitle = @"disc.mp4"; NSURL *baseURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]; NSString *playPath = [NSString stringWithFormat:@"<center><video width=\"640\" height=\"480\" controls><source src=\"%@\" media=\"all and (max-width:1024px)\"></video></center>",videoTitle]; [webView loadHTMLString:playPath baseURL:baseURL]; 

Это будет играть в формате 640×480, но если вы знакомы с HTML-тегами видео, вы можете настроить довольно сильно.

Поскольку вы используете MPMoviePlayerController, а не UIWebView, вы можете разместить свой mp4 или файл в своих ресурсах, и XCode / iOS найдет его. Убедитесь, что каталог / группа, в которой находится файл, не является желтым. Вы не хотите, чтобы это относительный путь.

Просто перетащите ресурс в свой проект. Выбрана копия элементов в пункт назначения, выбрана первая опция папок и, что самое важное, добавьте в цель!

Хорошо попробуйте код ниже:

 NSBundle *bundle = [NSBundle mainBundle]; NSString *moviePath = [bundle pathForResource:@"disc" ofType:@"mp4"]; NSURL *movieURL = [[NSURL fileURLWithPath:moviePath] retain]; theMoviPlayer = [[MPMoviePlayerController alloc] initWithContentURL:movieURL]; theMoviPlayer.controlStyle = MPMovieControlStyleFullscreen; theMoviPlayer.view.transform = CGAffineTransformConcat(theMoviPlayer.view.transform, CGAffineTransformMakeRotation(M_PI_2)); UIWindow *backgroundWindow = [[UIApplication sharedApplication] keyWindow]; [theMoviPlayer.view setFrame:backgroundWindow.frame]; [backgroundWindow addSubview:theMoviPlayer.view]; [theMoviPlayer play]; 
  • Как реализовать функцию обрезки, похожую на Android Phone (по умолчанию) в iOS.?
  • Gamecenter matchdata не обновляется
  • UIKeyboardWillShowNotification не работает с iOS> 6.1
  • Как получить данные ячейки ячейки для iPhone 5?
  • невозможно остановить вращение устройства
  • Автоматически отправлять SMS на джейлбрейк iOS 6
  • Interesting Posts

    iOS: UIVIew вернуться в исходное положение после segue и popViewController

    iOS8 сегодня виджет представления не показывает UITableViewController

    В чем разница между установкой высоты ячейки UITableView с помощью функции setRowHeight и tableView: heightForRowAtIndexPath: function?

    Тип «Int32» не соответствует протоколу «AnyObject» Swift?

    Запрос атрибута указателя с использованием Parse

    Как форматировать преобразование строки 2013-01-27T02: 31: 47 + 08: 00 в NSDate

    AVCaptureSession не может начатьRunning между вызовами beginConfiguration / commitConfiguration

    Как продолжить тестирование приложения iOS, используя инструмент UIAutomation, даже после выхода приложения?

    Ошибка при отправке новой версии приложения AppStore для iOS

    Проверка статуса приложения AppReceiptStoreURL 21002

    «Неуравновешенные вызовы для начала и конца перехода на внешний вид для DetailViewController» при нажатии нескольких контроллеров подробных представлений

    Когда мне нужно позвонить – ?

    libsystem_kernel.dylib`mach_msg_trap: Ошибка

    Получите ширину сегодняшнего расширения iOS

    Как заставить iOS MapKit использовать HTTPS для всех своих коммуникаций?

    Давайте будем гением компьютера.