用MPMoviePlayerController播放视频的方法

MPMoviePlayerController是通过MediaPlayer.frame引入的,可用于播放在iOS支持的所有格式的视频,用起来很简单,但是有注意的事项,


代码如下:

-(IBAction)click:(id)sender{

//通过点击按钮出发视频播放视图的加载

[self playMyVedio];

}

-(void)playMyVedio{

//路径的设置,这里要注意,不要用[NSURL urlwithstring],还要去确保路径的正确

NSBundle *bundle = [NSBundle mainBundle];

NSString *moviePath = [bundle pathForResource:@"111/Viva" ofType:@"mp4"];

NSURL *movieURL = [NSURL fileURLWithPath:moviePath];

//很重要的一点是在头文件里已经把player变为属性了,@property(nonamaic,strong),如果不写为属性就会黑屏,目前不知道为什么

player =[[MPMoviePlayerController alloc] initWithContentURL:movieURL];

player.controlStyle=MPMovieControlStyleDefault;

[player prepareToPlay];

[player.view setFrame:self.view.bounds];  // player的尺寸

[self.view addSubview: player.view];

player.shouldAutoplay=YES;

}

如果注意了视频的路径,和设置了属性,那么点击按钮就应该可以顺利的以全屏幕是播放视频,下一个问题就是退出,因为是全屏模式,模仿 iphone自己的视频播放,应该是点击左上角的done按钮就退出播放,这里如果不作处理,点击后只是退出全屏,屏幕还是有一块黑,其实是player 的非全屏模式,所以这里就要监听一个通知,点击done按钮后发出的通知,这样就可以退出了,代码如下:

- (void)viewDidLoad

{

[super viewDidLoad];

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(exitFullScreen:) name: MPMoviePlayerDidExitFullscreenNotification object:nil];

}

-(void)exitFullScreen:(NSNotification *)notification{

[player.view removeFromSuperview];

NSLog(@”remove player”);

}

更新一种方法,程序启动自动播放全屏视频,没有控制条,播放完毕接视图呈现,也就是一个过场动画,这里要注意把设置控制条和全屏等语句写在添加播放器视图之后,要不然设置无效

-(void)playMyVedio{

NSString *myFilePath = [[NSBundle mainBundle] pathForResource:@”mnMovnew.mp4″ ofType:nil inDirectory:nil];

NSURL *movieURL = [NSURL fileURLWithPath:myFilePath];

player =[[MPMoviePlayerController alloc] initWithContentURL:movieURL];

[player prepareToPlay];

[self.view addSubview:player.view];//设置写在添加之后

player.shouldAutoplay=YES;

[player setControlStyle:MPMovieControlStyleNone];

[player setFullscreen:YES];

[player.view setFrame:self.view.bounds];

}


MPMoviePlayerController播放视频扬声器没声音,插上耳机能听到声音,郁闷了好一阵子,最终找到了解决办法:

play 设置会话类型:

[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: nil];

 

.h文件引入头文件:

#import <AVFoundation/AVAudioSession.h>

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值