2016-02-05 106 views
-1

如何從coredata播放AVPlayer中的視頻爲nsdata formate? MPMoviePlayerController已棄用,所以我將使用AVPlayer。我搜索了一些關於保存的nsdata位置的URL路徑的說法,我不清楚這一點。有人解釋過我怎麼玩?在avplayer中播放來自coredata的視頻作爲nsdata

我是新來的,我很欣賞,如果分享的代碼。

如果有任何一個分享自定義AVPlayer的好教程,我沒有找到好的,所以從github示例項目學習。

高級謝謝:)

回答

1

你可以試試這個!

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]; 
+0

如何從coredata獲取數據?是那種方法[self documentsPathForFileName:@「video.mp4」]我該怎麼辦? – user3589771

+0

我向你展示了使用AVPlayer從NSData播放視頻的代碼。現在你只需要從CoreData獲得視頻的NSData即可。 – iOSEnthusiatic

+0

如果你已經在你的核心數據存儲視頻網址,然後簡單地將該網址轉換爲NSData – iOSEnthusiatic