[iPhone] 동영상 Play..

프로그래밍/iPhone/iPad 2010. 7. 7. 15:38 posted by 야매코더
간만에 글을 올림니다..
근 한달동안 너무 바빠서 정신이 없었어요.

오늘 갑자기 보스가 동영상 플래이 좀 해보자 해서 예전에 아이폰프로그래밍 공부하면서 구현한
샘플코드를 돌려 보았습니다..
이상하게 사운드만 나오고 동영상은 안나오더군요..뭔일인지.
즐겨찾는 맥부기 카페에도 검색해보고 구글링도 해본 결과..

iOS 4.0 으로 업글이 되면서 일부 클래스가 바뀌는 바람에 실행이 안되는 거였더군요..

바뀐부분을 비교하면

3.1시절에는 MPMoviePlayerController를 바로 선언해서 실행했는데..

3.2 이후 부터는 MPMoviePlayerViewController 를 먼저 불러오고 MPMoviePlayerController를 선언해서 사용하는 방식입니다.

코드로 비교를 해보면...

3.1 시절....

        MPMoviePlayerController* moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];
       
        moviePlayer.scalingMode = MPMovieScalingModeAspectFit;
       
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playbackDidFinish:) name:MPMoviePlayerPlaybackDidFinishNotification object:moviePlayer];
       
        [moviePlayer play];
       
        [moviePlayer release];



3.2 이상....

        MPMoviePlayerViewController *playerView = [[MPMoviePlayerViewController alloc] initWithContentURL:movieURL];
        MPMoviePlayerController* moviePlayer = [playerView moviePlayer];
       
        playerView.view.backgroundColor = [UIColor blackColor];
               
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playbackDidFinish:)                         name:MPMoviePlayerPlaybackDidFinishNotification object:moviePlayer];
       
        [self presentMoviePlayerViewControllerAnimated:playerView];
       
        [playerView release];




그럼 아이폰에서 동영상 플레이 하는 과정을 쉽게 설명 해 보겠습니다.



1. 프로젝트를 생성한다.

2. MediaPlayer.freamwork 를 추가 한다.

3. 해더파일에 추가된 프래임워크를 선언한다. 버튼과 함수도 선언한다.

4. 리소스에 대상 동영상을 추가 한다.

5. 실행할 버튼을 만든다. 선언한 btnPlay와 PlayMovie함수와 연결도 한다.

6. 버튼클릭시 실행하는 함수 코드를 추가 한다.
 
7. 동영상 종료시 돌아가는 콜백함수 만든다.

8. 컴파일&실행 한다.




참 쉽죠? 전 반나절이나 걸렸습니다. 소스는 첨부 하였습니다.


그럼 오늘은 여기까지~~~

To be continued -夜昧-