MPMoviePlayerViewController兑现横屏播放

MPMoviePlayerViewController实现横屏播放

实现播放视频的时候自动横屏必须重写MPMoviePlayerViewController,具体代码如下:

1.重写MPMoviePlayerViewController

//
//  DirectionMPMoviePlayerViewController.h
//  Direction
//
//  Created by apple on 12-4-10.
//  Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//

#import <MediaPlayer/MediaPlayer.h>

@interface DirectionMPMoviePlayerViewController : MPMoviePlayerViewController

@end

 

//
//  DirectionMPMoviePlayerViewController.m
//  Direction
//
//  Created by apple on 12-4-10.
//  Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//

#import "DirectionMPMoviePlayerViewController.h"

@implementation DirectionMPMoviePlayerViewController

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return UIDeviceOrientationIsLandscape(interfaceOrientation);
}

@end

 

2.初始化播放器,播放

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
    [self customTitleView];
    NSString *mystr = @"http://114.112.50.220:8080/res/20120331/2FFCE63A-C997-4D8C-4C4F-4127D78A958E.m3u8";
    NSURL *myURL = [[NSURL alloc] initWithString:mystr];
    [self playMovieAtURL:myURL];
}

-(void)playMovieAtURL:(NSURL*)theURL
{
    playerView = [[DirectionMPMoviePlayerViewController alloc] initWithContentURL:theURL];
    playerView.view.frame = self.view.frame;//全屏播放(全屏播放不可缺)
    playerView.moviePlayer.scalingMode = MPMovieScalingModeAspectFill;//全屏播放(全屏播放不可缺)
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(myMovieFinishedCallback:)
                                                 name:MPMoviePlayerPlaybackDidFinishNotification
                                               object:playerView];
    [playerView.moviePlayer play];
    [self presentMoviePlayerViewControllerAnimated:playerView];
}

// When the movie is done, release the controller.
-(void)myMovieFinishedCallback:(NSNotification*)aNotification
{
    DirectionMPMoviePlayerViewController* theMovie = [aNotification object];
    [[NSNotificationCenter defaultCenter] removeObserver:self
                                                    name:MPMoviePlayerPlaybackDidFinishNotification
                                                  object:theMovie];
    
    [theMovie release];
}