5

내 응용 프로그램이 문서 디렉토리에 다운로드 한 비디오 파일을 재생하도록하려고합니다.Cocoa-Touch로 Documents 디렉토리에서 다운로드 한 비디오 재생

-(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

을 * 경로 정의는 %의 @의/필요하지 않습니다. 그러나 콘솔에서 콘솔을 얻는다면 출력이나 오류는 무엇인지 말하지 않았습니다. – Panagiotis

+0

이 항목이 응용 프로그램 번들이 아닌 문서 디렉토리에 있는지 확인하십시오. 번들에서 비디오를로드 할 수 있습니다. – CodaFi

+0

한 마디 조언 : 새로운 저장 가이드 라인 (결론 : 백업 속도가 느리거나 무거움)에 따라/Documents에 동영상을 저장하면 앱이 거부되었습니다. ** ** iOS 5.0.1 이상을 타겟팅하는 경우/Documents 안의 하위 디렉토리에 '건너 뛰기'플래그를 지정할 수 있습니다. 그렇지 않으면 유일한 옵션은/Caches에 저장하는 것입니다 (그리고 삭제되면 비디오를 다시 다운로드하는 방법을 고안합니다). –

답변

0

문제는이 라인과 함께있을 것입니다 : 내가 파일을 다운로드하기 것을 알고,하지만 난 재생할 수있는 파일을 얻을 수없는 것, 여기에 내 코드입니다 NSString *path = [documentsDirectory stringByAppendingPathComponent:@"%@/piggy.m4v"];

변경이 NSString *path = [documentsDirectory stringByAppendingPathComponent:@"piggy.m4v"];

+0

@untitled : 오류는 무엇입니까? –

+0

콘솔에서 위 출력을 얻었는데 응용 프로그램을 다시 실행했을 때이 오류가 발생했습니다. 오류 (null)로 재생 모드를 'AVAudioSessionModeDefault'로 설정합니다. – untitled

11

이 버그의 일종처럼 보이는,하지만 당신은 그런 경로 설정해야합니다 : 당신은있는 NSString에서 오류가

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

sooo 고맙습니다. 넌 나를 구했다 – cantfindaname88

관련 문제