2011-04-27 4 views
0

아이폰 앱의 시작 부분에 영화를 추가하고 싶습니다. 나는 자습서를 보았고 이것은 내가 생각해 낸 코드이다. 왜 작동하지 않을까요? 나는 심지어 영화를 보지 않는다. 나는 다음과 같은 코드 내의 ViewController의 viewDidLoad에 함수에서 호출 :아이폰 앱으로 어떻게 영화를 플레이하나요?

NSString *path = [[NSBundle mainBundle] pathForResource:@"BTS Intro" ofType:@"mov"]; 
[self playMovieAtURL:[NSURL fileURLWithPath:path 

-(void)playMovieAtURL:(NSURL *)theURL { 
MPMoviePlayerController *thePlayer = [[MPMoviePlayerController alloc] initWithContentURL:theURL]; 
thePlayer.scalingMode = MPMovieScalingModeAspectFill; 
thePlayer.controlStyle = MPMovieControlStyleNone; 

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myMovieFinishedCallback:) name:MPMoviePlayerPlaybackDidFinishNotification object:thePlayer]; 
[thePlayer play]; 
} 

-(void)myMovieFinishedCallback:(NSNotification *)aNotification { 
MPMoviePlayerController *thePlayer = [aNotification object]; 
[[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:thePlayer]; 
[thePlayer release]; 
} 
+0

경로가 정확합니까? 대/소문자를 구분하므로 영화는 프로젝트에 있어야하며 "BTS Intro.mov"라는 이름을 지정해야합니다. –

답변

2

당신은 영화의 재생을 시작하지만 당신은 아무것도 표시되지 않는 이유는 뷰 계층에 [thePlayer보기]를 추가하지 않았다. 다음과 같이,

당신은 앱의 뷰 계층에 동영상 플레이어의보기를 추가 할 때, 프레임 올바르게 크기 확인 : 사과 문서에이 작업의 설명을 살펴보십시오

MPMoviePlayerController *player = 
     [[MPMoviePlayerController alloc] initWithContentURL: myURL]; 
[player.view setFrame: myView.bounds]; // player's frame must match parent's 
[myView addSubview: player.view]; 
// ... 
[player play]; 

MPMoviePlayerController Class Reference

+0

myView는 어디에 설정되어 있습니까? – Talon