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。
-
您应该从控制器保持对
MPMoviePlayerController
对象的引用,以便ARC不释放该对象。@property (nonatomic,strong) MPMoviePlayerController* mc;
-
制作url
NSURL *url = [NSURL URLWithString:@"http://www.example.com/video.mp4"];
-
使用该URL初始化
MPMoviePlayerController
MPMoviePlayerController *controller = [[MPMoviePlayerController alloc] initWithContentURL:url];
-
调整控制器大小,将其添加到视图中,播放并欣赏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