2012-12-19 4 views
0

Xcode 4.5.2 및 iOS 6.0을 사용하여 비디오를 재생해야하는 응용 프로그램을 개발 중입니다.MPMoviePlayer 컨트롤러가 비디오를 재생하지 않습니다.

저는 MPMoviePlayerController를 사용하여 비디오를 재생하고 있습니다. 나는 this tutorial을 따라 갔다. 그러나 여전히 시뮬레이터에서 비디오를 재생할 수 없습니다.

여기 내 코드입니다 :

- (IBAction)playVideo:(id)sender { 
NSString *filepath = [[NSBundle mainBundle] pathForResource:@"Movie-1" ofType:@"mp4"]; 
NSURL *fileURL = [NSURL fileURLWithPath:filepath]; 
MPMoviePlayerController *moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:fileURL]; 
moviePlayerController.shouldAutoplay =YES ; 
moviePlayerController.controlStyle = MPMovieControlStyleDefault ; 
moviePlayerController.scalingMode = MPMovieScalingModeFill ; 
[moviePlayerController.view setFrame:CGRectMake(0, 0, 360, 200)]; 
[self.view addSubview:moviePlayerController.view]; 
[[NSNotificationCenter defaultCenter] addObserver:self 
              selector:@selector(moviePlaybackComplete:) 
              name:MPMoviePlayerPlaybackDidFinishNotification 
              object:moviePlayerController]; 
[moviePlayerController play ] ; 

} 

- (void)moviePlaybackComplete:(NSNotification *)notification 
{ 
    MPMoviePlayerController *moviePlayerController = [notification object]; 
    [[NSNotificationCenter defaultCenter] removeObserver:self 
                name:MPMoviePlayerPlaybackDidFinishNotification 
                object:moviePlayerController]; 

    [moviePlayerController.view removeFromSuperview]; 
} 

이미 질문에 이렇게 많은 검토 한 결과,하지만 그들 중 누구도 내 문제를 해결하지 않습니다. 나는 컨테이너 뷰을 만들고 내 컨테이너 뷰에 내 MPMoviePlayerController을 추가하려고했습니다. 나는 그것을 작동하게 만들지 않았다.

나는 또한 시도했습니다. MPMoviePlayerViewController, 지금까지 작동하도록 만들 수 있습니다. 그것의 또 다른 문제는, 난 setFrame에서 MPMoviePlayerViewController 수 없습니다. 하지만, 내 비디오 플레이어에 프레임을 설정하고 싶습니다. 크기가 전체 화면 일 수는 없습니다. 왜냐하면, 내 비디오 플레이어 아래에 일부 버튼을 표시해야하기 때문입니다.

너희들은 어떻게 내가 그걸 성취 할 수 있을지 생각해?

편집 : 대신

MPMoviePlayerViewController *mp = [[MPMoviePlayerViewController alloc] initWithContentURL:_urlToLoad]; 
[self presentModalViewController:mp animated:YES]; 

:이 도움이 될 것입니다

[self.view addSubview:moviePlayerController.view]; 

희망 콘솔 출력

2012-12-19 16:29:21.554 Coverzzz[4952:c07] [MPAVController] Autoplay: Disabling autoplay for pause 
2012-12-19 16:29:21.555 Coverzzz[4952:c07] [MPAVController] Autoplay: Disabling autoplay 
2012-12-19 16:29:21.565 Coverzzz[4952:c07] [MPAVController] Autoplay: Skipping autoplay, disabled (for current item: 1, on player: 0) 
2012-12-19 16:29:27.230 Coverzzz[4952:c07] [MPAVController] Autoplay: Disabling autoplay for pause 
2012-12-19 16:29:27.231 Coverzzz[4952:c07] [MPAVController] Autoplay: Disabling autoplay 
2012-12-19 16:29:27.241 Coverzzz[4952:c07] [MPAVController] Autoplay: Skipping autoplay, disabled (for current item: 1, on player: 0) 
2012-12-19 16:29:27.706 Coverzzz[4952:c07] [MPAVController] Autoplay: Disabling autoplay for pause 
2012-12-19 16:29:27.707 Coverzzz[4952:c07] [MPAVController] Autoplay: Disabling autoplay 
2012-12-19 16:29:27.718 Coverzzz[4952:c07] [MPAVController] Autoplay: Skipping autoplay, disabled (for current item: 1, on player: 0) 
2012-12-19 16:29:27.919 Coverzzz[4952:c07] [MPAVController] Autoplay: Disabling autoplay for pause 
2012-12-19 16:29:27.920 Coverzzz[4952:c07] [MPAVController] Autoplay: Disabling autoplay 
2012-12-19 16:29:27.930 Coverzzz[4952:c07] [MPAVController] Autoplay: Skipping autoplay, disabled (for current item: 1, on player: 0) 
2012-12-19 16:29:28.077 Coverzzz[4952:c07] [MPAVController] Autoplay: Disabling autoplay for pause 
2012-12-19 16:29:28.077 Coverzzz[4952:c07] [MPAVController] Autoplay: Disabling autoplay 
2012-12-19 16:29:28.088 Coverzzz[4952:c07] [MPAVController] Autoplay: Skipping autoplay, disabled (for current item: 1, on player: 0) 
2012-12-19 16:29:28.219 Coverzzz[4952:c07] [MPAVController] Autoplay: Disabling autoplay for pause 
2012-12-19 16:29:28.220 Coverzzz[4952:c07] [MPAVController] Autoplay: Disabling autoplay 
2012-12-19 16:29:28.230 Coverzzz[4952:c07] [MPAVController] Autoplay: Skipping autoplay, disabled (for current item: 1, on player: 0) 
2012-12-19 16:29:28.368 Coverzzz[4952:c07] [MPAVController] Autoplay: Disabling autoplay for pause 
2012-12-19 16:29:28.368 Coverzzz[4952:c07] [MPAVController] Autoplay: Disabling autoplay 
2012-12-19 16:29:28.382 Coverzzz[4952:c07] [MPAVController] Autoplay: Skipping autoplay, disabled (for current item: 1, on player: 0) 
2012-12-19 16:29:28.511 Coverzzz[4952:c07] [MPAVController] Autoplay: Disabling autoplay for pause 
2012-12-19 16:29:28.512 Coverzzz[4952:c07] [MPAVController] Autoplay: Disabling autoplay 
2012-12-19 16:29:28.521 Coverzzz[4952:c07] [MPAVController] Autoplay: Skipping autoplay, disabled (for current item: 1, on player: 0) 
2012-12-19 16:29:28.692 Coverzzz[4952:c07] [MPAVController] Autoplay: Disabling autoplay for pause 
2012-12-19 16:29:28.692 Coverzzz[4952:c07] [MPAVController] Autoplay: Disabling autoplay 
2012-12-19 16:29:28.702 Coverzzz[4952:c07] [MPAVController] Autoplay: Skipping autoplay, disabled (for current item: 1, on player: 0) 
+0

add [moviePlayerController prepareToPlay]; before [moviePlayerController play] 전; 작동하지 않는 경우 파일 –

+0

의 경로를 확인하십시오. 이미 prepareToPlay 메소드를 시도했지만 효과가 없으며 콘솔 출력이 두 번만됩니다. 파일의 경로도 정확합니다. – limon

답변

3

마침내이 작품을 만들었습니다. iOS 5.0 이후에는 MPMoviePlayerController을 속성으로 선언해야합니다. 그래서 재산으로 추가하고 효과가있었습니다.

+0

당신은 올바른 – danh

+0

당신이 사용할 수있는 선언 속성없이 자신의 답변을 표시 할 수 있습니다 :) – Rushabh

0

당신은이 코드를 시도 할 수 있습니다. 건배.

+0

그것은 가능하지 않습니다. 내가 할 경우, 응용 프로그램이 충돌합니다. 왜냐하면 moviePlayerController를 presentModalViewController의 매개 변수로 제공 할 수 없기 때문입니다. 테스트 됨, 크래시 – limon

+0

아, MPMoviePlayerViewController가 아닌 MPMoviePlayerController를 사용했기 때문에 내 대답에 대해 작동하지 않는 이유는 무엇입니까? 나는 내 대답을 편집 할 것이다. 베스트. – IKQ

+0

MPMoviewPlayerController로 시도해 볼 수 있습니까? 이 클래스를 사용하여 YouTube 비디오를 처리하고 저를 위해 잘 작동합니다. 잘하면 도움이 될 수 있습니다. – IKQ

관련 문제