iOS:如何在目录中保存video并在之后播放?

我在iOS项目中工作。 我希望应用程序能够以programmatically从互联网上下载video 。 然后我想玩它。 我知道如何从Resources播放本地video,但我的问题是如何下载它,并找到它播放。 我正在使用MPMoviePlayerController来运行video。

提前感谢

我找到了答案

在这里我保存了video

  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]; } 

并且此代码用于播放其目录中的video

  NSString *filepath = [NSString stringWithFormat:@"%@/%@", documentsDirectory,@"videoName.mp4"]; //video URL NSURL *fileURL = [NSURL fileURLWithPath:filepath]; moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:fileURL]; [moviePlayerController play]; 

如果您有一个有效的videourl,Apple会提供一个API来直接使用NSURL缓存video。

  1. 您应该从控制器保持对MPMoviePlayerController对象的引用,以便ARC不释放该对象。

     @property (nonatomic,strong) MPMoviePlayerController* mc; 
  2. 制作url

     NSURL *url = [NSURL URLWithString:@"http://www.example.com/video.mp4"]; 
  3. 使用该URL初始化MPMoviePlayerController

     MPMoviePlayerController *controller = [[MPMoviePlayerController alloc] initWithContentURL:url]; 
  4. 调整控制器大小,将其添加到视图中,播放并欣赏video。

     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 

有关更多详细信息,您可以从ios7中的url访问此播放video