利用MPMoviePlayerViewController 播放视频 iOS

方法一:

@property (nonatomic, strong) MPMoviePlayerController *player;

    NSString *url = [[NSBundle mainBundle] pathForResource:@"zz_video" ofType:@"mp4"];
    self.player = [[MPMoviePlayerController alloc]
                   initWithContentURL: [NSURL fileURLWithPath:url]];
    self.player.controlStyle = MPMovieControlStyleNone;
    self.player.view.frame = self.view.frame;
    [self.view addSubview:self.player.view];
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(movieFinishedCallback:)
                                                 name:MPMoviePlayerPlaybackDidFinishNotification
                                               object:self.player];
    
    [self.player play]; //开始播放
- (void) movieFinishedCallback:(NSNotification*) aNotification {
    MPMoviePlayerController *player = [aNotification object];
    [[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:player];
    [player stop];
}

 

方法二:

1、要使用MPMoviePlayerViewController首先要加入MediaPlayer.framework. 
2、加入如下代码:

// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
    [super viewDidLoad];
    NSString *url = [[NSBundle mainBundle] pathForResource:@"TaylorSwift-LoveStory" ofType:@"mp4"];
    
    MPMoviePlayerViewController *playerViewController = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL fileURLWithPath:url]];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(movieFinishedCallback:)
                                                 name:MPMoviePlayerPlaybackDidFinishNotification
                                               object:[playerViewController moviePlayer]];
    //-- add to view---
    [self.view addSubview:playerViewController.view];
    
    //---play movie---
    MPMoviePlayerController *player = [playerViewController moviePlayer];
    [player play];
    
}

- (void) movieFinishedCallback:(NSNotification*) aNotification {
    MPMoviePlayerController *player = [aNotification object];
    [[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:player];
    [player stop];
    [self.view removeFromSuperView];
    [player autorelease];
}

3、支持横屏修改shouldAutorotateToInterfaceOrientation:interfaceOrientation方法使其返回YES。

备注:实测 用上面的方法直接播放本地m3u8格式或者线上的视频也是可以的。

 

NSURL可直接初始化:

NSURL*videoPathURL=[NSURL URLWithString:urlStr];//urlStr是视频播放地址

如果是播放本地视频的话。这样初始化:

NSURL*videoPathURL=[[NSURL alloc] initFileURLWithPath:urlStr];

 

转:http://re-reference.iteye.com/blog/1106324

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值