5

Tôi đang cố gắng để ứng dụng của mình phát tệp video đã được tải xuống thư mục tài liệu. Tôi biết các tập tin được việc tải về, nhưng tôi dường như không thể có được các tập tin để chơi, đây là mã của tôi:Phát video đã tải xuống từ thư mục tài liệu với Cocoa-Touch

-(IBAction)play{ 

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"%@/piggy.m4v"]; 

NSURL *movieURL = [NSURL fileURLWithPath:path]; 


_player = [[MPMoviePlayerController alloc] initWithContentURL:movieURL]; 
[self.view addSubview:_player.view]; 

_player.controlStyle = MPMovieControlStyleDefault; 
_player.shouldAutoplay = YES; 


[_player setFullscreen:YES animated:YES]; 


[_player play]; 

} 
+0

bạn có một lỗi trong NSString * định nghĩa đường dẫn mà bạn không cần% @ /. Nhưng bạn đã không nói đầu ra là gì hoặc lỗi nếu bạn nhận được một từ giao diện điều khiển. – Panagiotis

+0

Bạn có chắc chắn điều này tồn tại trong thư mục tài liệu chứ không phải gói ứng dụng? Tôi có thể tải video chỉ từ gói. – CodaFi

+0

Một lời khuyên: ứng dụng của tôi bị từ chối vì lưu video vào/Documents, theo Nguyên tắc lưu trữ mới (dòng dưới cùng: nó làm cho bản sao lưu chậm/nặng). ** Nếu ** bạn đang nhắm mục tiêu iOS 5.0.1 trở lên, bạn có thể gắn cờ thư mục con bên trong/Documents là 'bỏ qua sao lưu'. Nếu không, tùy chọn duy nhất của bạn là lưu vào/Cache (và tìm cách tải xuống lại video khi nó bị xóa) –

Trả lời

0

Issue sẽ ở cùng dòng này: NSString *path = [documentsDirectory stringByAppendingPathComponent:@"%@/piggy.m4v"];

Thay đổi đó để NSString *path = [documentsDirectory stringByAppendingPathComponent:@"piggy.m4v"];

+0

@untitled: lỗi bạn đang gặp phải là gì? –

+0

Tôi nhận được đầu ra ở trên từ giao diện điều khiển, tôi vừa chạy lại ứng dụng và cũng gặp lỗi này Lỗi (null) thiết lập chế độ phát lại thành 'AVAudioSessionModeDefault' – untitled

11

này trông giống như một số loại lỗi, nhưng bạn cần phải thiết lập đường dẫn của bạn như thế:

NSString *vidPath = [[NSBundle mainBundle] pathForResource:@"promo" ofType:@"mp4"]; 
NSURL *url = [NSURL fileURLWithPath:vidPath isDirectory:NO]; //THIS IS THE KEY TO GET THIS RUN :) 
[introPlayer setContentURL:url]; 
+0

Cảm ơn bạn rất nhiều. Bạn đã cứu tôi – cantfindaname88

Các vấn đề liên quan