Как воспроизвести видео с локального или серверного URL в iOS - PullRequest
16 голосов
/ 17 мая 2011

Как я могу воспроизвести видео в формате .mp4 или .mov с интернет-URL или локального файла в iOS?

Ответы [ 3 ]

29 голосов
/ 17 мая 2011

1. Сначала добавьте MediaPlayer.Framework в XCode

2. Затем добавьте #import в файл .h вашего viewController

3. Теперь реализуйте этокод в вашем методе viewDidLoad

     //NSString *filepath = [[NSBundle mainBundle] pathForResource:@"aaa" ofType:@"mp4"];  
     //NSURL    *fileURL = [NSURL fileURLWithPath:filepath];  

     NSURL *fileURL = [NSURL URLWithString:@"http://www.ebookfrenzy.com/ios_book/movie/movie.mov"];

     moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:fileURL]; 
     [moviePlayerController.view setFrame:CGRectMake(0, 70, 320, 270)]; 
     [self.view addSubview:moviePlayerController.view];  
     moviePlayerController.fullscreen = YES;  
     [moviePlayerController play];  

Для ориентации Пожалуйста, добавьте этот код

 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
     // Return YES for supported orientations
          if (interfaceOrientation == UIInterfaceOrientationPortrait || interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown) {
         [moviePlayerController.view setFrame:CGRectMake(0, 70, 320, 270)]; 
     } else if (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight) {
         [moviePlayerController.view setFrame:CGRectMake(0, 0, 480, 320)]; 
     }
     return YES;
 }

В этом коде moviePlayerController - это MPMoviePlayerController, объявленный в файле .h

9 голосов
/ 01 декабря 2015

Это старый вопрос, но он все еще актуален, и iOS 9 устарела MPMoviePlayerController.Новая вещь, чтобы использовать, если AVMoviePlayer, пример кода:

NSString *filepath = [[NSBundle mainBundle] pathForResource:@"vid" ofType:@"mp4"];
NSURL *fileURL = [NSURL fileURLWithPath:filepath];
self.avPlayer = [AVPlayer playerWithURL:fileURL];

AVPlayerLayer *layer = [AVPlayerLayer playerLayerWithPlayer:self.avPlayer];
self.avPlayer.actionAtItemEnd = AVPlayerActionAtItemEndNone;
layer.frame = self.view.bounds;
[self.view.layer addSublayer: layer];

[self.avPlayer play];
3 голосов
/ 16 ноября 2016

Пожалуйста, попробуйте это идеально для меня,

var moviePlayer:MPMoviePlayerController!
override func viewDidLoad()
{
    super.viewDidLoad()

    let url:NSURL = NSURL(string: "http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4")!
    moviePlayer = MPMoviePlayerController(contentURL: url)

    moviePlayer.view.frame = CGRect(x: 20, y: 20, width: UIScreen.mainScreen().bounds.size.width-40, height: UIScreen.mainScreen().bounds.size.height/2)

    self.view.addSubview(moviePlayer.view)
    moviePlayer.fullscreen = true

    moviePlayer.controlStyle = MPMovieControlStyle.Embedded

}

И, пожалуйста, включите Настройки безопасности транспорта приложения -> Разрешить произвольные загрузки -> ДА в файле Plist.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...