2010-08-11 4 views
2

MPMoviePlayerController가 장치에서 작동하는 데 문제가 있습니다. 시뮬레이터에서 잘 실행되어 5 초짜리 비디오를 재생 한 다음 적절한 콜백 (myMovieFinishedCallback:)을보기 컨트롤러에 전송합니다. 장치에서 실행될 때 아무런 문제없이 [player play]까지 추적 할 수는 있지만 영화는 절대 나타나지 않습니다. myMovieFinishedCallback:은 호출되지 않으며 오류가 없습니다. 모든 적절한 리소스가 복사됩니다. 무슨 일있어?MPMoviePlayerController가 시뮬레이터에서 작동하지만 장치가 작동하지 않는 이유는 무엇입니까?

여기에 내가

업데이트를 생성하고 플레이어를 사용하는 데 사용하는 코드입니다 : 내가 MPMoviePlayerViewController를 사용으로 전환했습니다. 장치에서 영화는 여전히 재생되지 않습니다. 회전하는 진행 휠이 무기한으로 표시됩니다. 플레이어를 MPMovieControlStyleNone으로 설정 했는데도 컨트롤이 잠시 깜박입니다. 아무도 내가이 문제를 해결할 수있는 방법을 알고 있습니까? 영화는 5 초이고, 차이가 나는다면 약 1.5 MB입니다.

업데이트 : 다른 영화 파일은 작동하지만 내 작업 방법을 알아낼 수 없습니다. 나는 그것을 .mov와 .mp4로 시도했고 설정이 옳은 것 같다. 어떤 생각으로 MPMoviePlayer가 장치에서만 진행 휠을 영원히 보여줄 수 있습니까?

- (void) playMovie 
{ 
    NSString *url = [[NSBundle mainBundle] 
        pathForResource:@"myMovie" 
        ofType:@"mp4"]; 

MPMoviePlayerViewController *playerViewController = 
[[MPMoviePlayerViewController alloc] 
initWithContentURL:[NSURL fileURLWithPath:url]]; 

playerViewController.moviePlayer.controlStyle = MPMovieControlStyleNone; 
playerViewController.moviePlayer.scalingMode = MPMovieScalingModeFill; 

[[NSNotificationCenter defaultCenter] 
addObserver:self 
selector:@selector(myMovieFinishedCallback:) 
name:MPMoviePlayerPlaybackDidFinishNotification 
object:[playerViewController moviePlayer]]; 

playerViewController.view.frame = movieView.frame; 

[movieView addSubview:playerViewController.view]; 

//---play movie--- 
MPMoviePlayerController *player = [playerViewController moviePlayer]; 
[player play]; 
} 
+1

use MPMoviePlayerViewController – Daniel

+0

MPMoviePlayerViewController로 전환했습니다. 아직도 운이 없다. – Luke

답변

5

귀하의 코드는 나를 위해 잘 작동, 그래서 마음에 와서 두 가지 가능성이있다 (다른 사람이있을 수 있습니다) :

  1. 당신은 movieView가 제대로 초기화되지 않았거나 없었습니다 그 프레임이 표시되도록 설정합니다.
  2. 표시중인 비디오의 비디오 형식이 장치에서 지원되지 않습니다.

다른 비디오를 사용해 봅니다. 아마 당신이 이전에 그 기기에서 연주 한 것을 확인할 수있을 것입니다. 다음은 함께 던진 작은 데모 프로젝트입니다. http://www.cimgf.com/files/PlayMovie.zip

+0

이것은 큰 도움이되었습니다. 롤러 코스터 비디오가 작동합니다. 나는 사용하고있는 비디오에 대한 설정을 엉망으로 만들려고했지만 여전히 운이 없다. MPMoviePlayer에 비슷한 문제가있는 사람이 있습니까? – Luke

+0

형식 및 MPMoviePlayer에 대해 묻는 새로운 질문을 시작하는 것이 좋습니다. 이 질문의 제목이 반드시 형식에 대해 알고있는 사람들의 관심을 끌지는 않습니다. 한번 더 생각해. iOS 4를 사용 중이라면 AVFoundation 클래스를 사용해 보았습니까? AVPlayer 및 AVPlayerLayer를 사용하면 Core Animation 레이어에 비디오를 표시 할 수 있습니다. –

+0

우리는 iPad를 사용하기 때문에 iOS 4가 아닙니다. 어떻게 그 롤러 코스터 영화를 만들 었는지 물어봐도 될까요? 우리는 다양한 컨버터를 시도했지만 여전히 운이 없었습니다. – Luke

관련 문제