你可以試試這個!
NSString *filePath = [self documentsPathForFileName:@"video.mp4"];
BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:filePath];
if(!fileExists) {
NSData *videoAsData; // your data here
[videoAsData writeToFile:filePath atomically:YES];
}
// access video as URL
NSURL *videoFileURL = [NSURL fileURLWithPath:filePath];
// create an AVPlayer
AVPlayer *player = [AVPlayer playerWithURL:videoFileURL];
// create a player view controller
AVPlayerViewController *controller = [[AVPlayerViewController alloc]init];
controller.player = player;
[self presentViewController:controller animated:YES completion:^{
[controller.player play];
}];
- (NSString *)documentsPathForFileName:(NSString *)name
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *documentsPath = [paths objectAtIndex:0];
return [documentsPath stringByAppendingPathComponent:name];
}
// if you want to remove file after playing video
NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error;
BOOL success = [fileManager removeItemAtPath:filePath error:&error];
如何從coredata獲取數據?是那種方法[self documentsPathForFileName:@「video.mp4」]我該怎麼辦? – user3589771
我向你展示了使用AVPlayer從NSData播放視頻的代碼。現在你只需要從CoreData獲得視頻的NSData即可。 – iOSEnthusiatic
如果你已經在你的核心數據存儲視頻網址,然後簡單地將該網址轉換爲NSData – iOSEnthusiatic