2015-05-03 5 views
4

Я работаю в проекте iOS. Я хочу, чтобы приложение могло загрузить video из Интернета programmatically. Затем я хочу играть в нее. Я знаю, как я могу воспроизвести локальное видео с Resources, но мой вопрос: как загрузить его и найти его для воспроизведения. Я использую MPMoviePlayerController для запуска видео.iOS: Как сохранить видео в своем каталоге и воспроизвести его потом?

Поблагодарив заранее

ответ

6

Я нашел ответ

здесь я сохранил видео

NSString *stringURL = @"http://videoURL"; 
NSURL *url = [NSURL URLWithString:stringURL]; 
NSData *urlData = [NSData dataWithContentsOfURL:url]; 
NSString *documentsDirectory ; 
if (urlData) 
{ 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    documentsDirectory = [paths objectAtIndex:0]; 

    NSString *filePath = [NSString stringWithFormat:@"%@/%@", documentsDirectory,@"videoName.mp4"]; 
    [urlData writeToFile:filePath atomically:YES]; 

} 

и этот код для игры видео из его каталога

NSString *filepath = [NSString stringWithFormat:@"%@/%@", documentsDirectory,@"videoName.mp4"]; 

//video URL 
NSURL *fileURL = [NSURL fileURLWithPath:filepath]; 
moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:fileURL]; 
[moviePlayerController play]; 
4

Если у вас есть действительный URL на видео, Apple предоставляет API для прямого буфера видео с NSURL.

  1. Вы должны содержать ссылку на объект MPMoviePlayerController от контроллера, так что ARC не освобождает объект.

    @property (nonatomic,strong) MPMoviePlayerController* mc; 
    
  2. Сделайте URL-адрес

    NSURL *url = [NSURL URLWithString:@"http://www.example.com/video.mp4"]; 
    
  3. Init MPMoviePlayerController с этим URL

    MPMoviePlayerController *controller = [[MPMoviePlayerController alloc] initWithContentURL:url]; 
    
  4. Изменение размера контроллер, добавьте его к вашему мнению, играть и наслаждаться видео.

    self.mc = controller; // so that ARC doesn't release the controller 
    controller.view.frame = self.view.bounds; 
    [self.view addSubview:controller.view]; 
    [controller play]; //Start playing 
    

Для более подробной информации вы можете посетить этот playing video from a url in ios7

+0

Спасибо @Abubakr за ваш ответ, но это не то, что я ищу Я не хочу воспроизводить его со своего URL-адреса. –

+0

Можете ли вы сказать мне, с чего вы хотите играть? –

+0

Я хочу запустить его позже в автономном режиме. Спасибо, что нашел ответ, и я написал его ниже. –