IOS 播放视频 MPMoviePlayerController
2014-05-16 13:53
344 查看
在unity游戏的开头播放视频 , 根据需求 , 最后决定用 MPMoviePlayerController 来实现播放, 实现如下: by Tin
需要在AppController.mm的 OpenEAGL_UnityCallback 修改下view的大小
需要在游戏中接收unity的命令
接下来是播放视频
需要在AppController.mm的 OpenEAGL_UnityCallback 修改下view的大小
UIView *mainView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]]; // mainView.backgroundColor = [UIColor grayColor]; [MyViewController Instance].view = mainView; [UnityGetGLViewController().view addSubview: [MyViewController Instance].view];
需要在游戏中接收unity的命令
// ======================== 播放开头动画 start ======================== // by:xihao // 2014-05-16 void PlayMovieInIOS( char * path ) { [[MyViewController Instance] PlayVideo:[NSString stringWithUTF8String:path]]; } void exPlayVideo( char * url ) { [[MyViewController Instance] PlayVideo:[NSString stringWithUTF8String:url]]; } void exReleaseVideo() { [[MyViewController Instance] ReleaseVideo]; } MovieViewController * mv ; -(void) PlayVideo:(NSString *) path { if ( mv != nil) { [mv breakMovie] ; [mv release]; mv= nil ; } mv = [[ MovieViewController alloc] init]; [self.view addSubview:mv.view]; [mv playMovie:path]; } -(void) ReleaseVideo { if ( mv != nil) { [mv breakMovie] ; [mv release]; mv= nil ; } UnitySendMessage("_IOSDoor","ReleaseVideoOver", ""); } // ======================== 播放开头动画 end ========================
接下来是播放视频
MPMoviePlayerController *movie ; /** @method 播放电影 */ -(void)playMovie:(NSString *)fileName{ NSURL *url = [NSURL fileURLWithPath: fileName ]; //视频播放对象 movie = [[MPMoviePlayerController alloc] initWithContentURL:url]; movie.controlStyle = MPMovieControlStyleNone; [movie.view setFrame:self.view.bounds]; movie.initialPlaybackTime = -1; [self.view addSubview:movie.view]; // 注册一个播放结束的通知 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myMovieFinishedCallback:) name:MPMoviePlayerPlaybackDidFinishNotification object:movie]; [movie play]; } #pragma mark -------------------视频播放结束委托-------------------- -(void) breakMovie { if (movie == nil) { return ; } //销毁播放通知 [[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:movie]; [movie.view removeFromSuperview]; // 释放视频对象 [movie release]; movie = nil ; } /* @method 当视频播放完毕释放对象 */ -(void)myMovieFinishedCallback:(NSNotification*)notify { NSNumber *reason = [notify.userInfo valueForKey:MPMoviePlayerPlaybackDidFinishReasonUserInfoKey]; if (reason != nil){ NSInteger reasonAsInteger = [reason integerValue]; switch (reasonAsInteger){ case MPMovieFinishReasonPlaybackEnded:{ /* The movie ended normally */ break; } case MPMovieFinishReasonPlaybackError:{ /* An error happened and the movie ended */ break; } case MPMovieFinishReasonUserExited:{ /* The user exited the player */ break; } } NSLog(@"Finish Reason = %ld", (long)reasonAsInteger); } /* 取消视频自动销毁 由break mv 执行 //视频播放对象 MPMoviePlayerController* theMovie = [notify object]; //销毁播放通知 [[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:theMovie]; [theMovie.view removeFromSuperview]; // 释放视频对象 [theMovie release]; movie = nil ; NSLog(@"---------PlayVideoOver 11"); */ UnitySendMessage("_IOSDoor","PlayVideoOver", ""); NSLog(@"---------PlayVideoOver 22"); }
相关文章推荐
- iOS远程和本地视频播放-----MPMoviePlayerController
- iOS视频播放-MPMoviePlayerController
- iOS中播放视频MPMoviePlayerController
- iOS开发--利用MPMoviePlayerController播放视频简单实现
- 利用MPMoviePlayerViewController 播放视频 iOS
- IOS MPMoviePlayerViewController视频播放(MediaPlayer)
- ios——MPMoviePlayerController截取视频缩略图 播放视频又可以截取视频缩略图
- iOS用MPMoviePlayerViewController 播放MP4视频
- COCOS2中用MPMoviePlayerController播放视频出现黑屏---iOS开发之最灵异事件之4
- IOS 播放视频(MPMoviePlayerController、MPMoviePlayerViewController)
- ios播放视频文件一般使用 MPMoviePlayerViewController 和 MPMoviePlayerController
- 详细介绍下ios用MPMoviePlayerController来播放视频
- ios学习--MPMoviePlayerController播放视频的方法
- Swift3 MPMoviePlayerViewController的使用,iOS播放视频
- iOS MPMoviePlayerController使用,播放视频
- iOS播放视频 MPMoviePlayerViewController 和 MPMoviePlayerController 使用说明
- IOS9.0 以前的视频播放 MPMoviePlayerController 视频播放控制器
- iOS视频播放 [MPMoviePlayerController]
- iOS开发--利用MPMoviePlayerViewController播放视频简单实现
- iOS开发-BUG:解决在使用MPMoviePlayerController播放视频后导航栏上移的问题