AVPlayer 에서 이미지 가로보기 재생

싱글뷰로 프로젝트를 하나 만든 후

가로보기는 LandscapeRight로 설정한다.

그 다음 AVFoundation FrameWork를 추가한다.

.h 파일에 버튼과 플레이어를 추가한다.

#import <UIKit/UIKit.h>
#import <AVFoundation/AVFoundation.h>

@interface nemesisViewController : UIViewController {
    AVPlayer *player;
    UIButton *btnPlay;
}

@property (nonatomic, retain) IBOutlet UIButton *btnPlay;

-(IBAction)btnPlayTouch:(id)sender;

@end

.m 파일에는 다음과 같이 추가한다.

먼저 가로보기 추가
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // 오른쪽 가로보기 고정
    return (interfaceOrientation != UIInterfaceOrientationLandscapeRight);
}

그 다음 프로퍼티 설정
@synthesize btnPlay;

프로퍼티 종료시 설정
- (void)viewDidUnload
{
    [super viewDidUnload];
    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
    self.btnPlay = nil;
}

버튼 클릭시 메소드 추가
-(IBAction)btnPlayTouch:(id)sender
{    
    // Movie File Plat Test
    NSString *movieFilePath = [[NSBundle mainBundle] pathForResource:@"IMG_2614" ofType:@"MOV"];
    NSURL *url = [NSURL fileURLWithPath:movieFilePath];
    AVURLAsset *asset = [AVURLAsset URLAssetWithURL:url options:nil];
    AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:asset];
    player = [AVPlayer playerWithPlayerItem:playerItem];
    
    NSArray *visualTracks = [asset tracksWithMediaCharacteristic:AVMediaCharacteristicVisual];
    if ((!visualTracks) || ([visualTracks count] == 0)) {
        NSLog(@"not Moview File");
    } else {
        // 레이어 선언
        AVPlayerLayer *playerLayer = [AVPlayerLayer playerLayerWithPlayer:player];
        // 크기 조정
        playerLayer.frame = CGRectMake(0, 0, 480, 320);
        // 크기에 동영상 맞추기
        playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;
        // 동영상 추가
        [self.view.layer addSublayer:playerLayer];
        // 동영상 재생
        [player play];
    }
}

실행해 보니 가로보기로 잘 된다.



댓글

이 블로그의 인기 게시물

한글 2010 에서 Ctrl + F10 누르면 특수문자 안뜰 때

아이폰에서 RFID 사용하는 방법

맥 화면이 안나올때 조치방법