IOS 播放视频 MPMoviePlayerController
在unity游戏的开头播放视频 , 根据需求 , 最后决定用 MPMoviePlayerController 来实现播放, 实现如下: by Tin
需要在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 = -;
[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、MPMoviePlayerViewController)
● iOS提供了叫 做MPMoviePlayerController.MPMoviePlayerViewController的两个 类,可以用来轻松播放视频 ➢ YouTobe就是用MPMoviePl ...
- ios开发视频播放后台下载功能实现 :1,ios播放视频 ,包含基于AVPlayer播放器,2,实现下载,iOS后台下载(多任务同时下载,单任务下载,下载进度,下载百分比,文件大小,下载状态)(真机调试功能正常)
ABBPlayerKit ios开发视频播放后台下载功能实现 : 代码下载地址:https://github.com/niexiaobo/ABBPlayerKit github资料学习和下载地址:ht ...
- 【转】 iOS播放视频时候,忽略设备静音按钮
用户有时会在静音模式下观看视频,如果不主动设置的话,视频是没有声音的,通过AVAudioSession可开启以视频为主导的播放模式, 首先需要导入,AVFoundtion.framework,在控制播 ...
- iOS播放视频
1.首先导入 MediaPlayer import MediaPlayer 2.播放事件 class ViewController:UIViewController{ var pc:MPMoviePl ...
- 关于MPMoviePlayerController类播放视频时,外放没有声音的问题(ios)
一.导入音频资源类 #import "AVFoundation/AVAudioSession.h" 二.在播放视频的方法中加一句支持外放的代码 [[AVAudioSession s ...
- ios——视频 MPMoviePlayerController的使用(支持本地和网络)
视频 MPMoviePlayerController 在iOS中播放视频可以使用MediaPlayer.framework种的MPMoviePlayerController类来完成,它支持本地 视频和 ...
- 在iOS开发中如何播放视频
技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/luohanchenyilong 如何播放视频 •iOS提供了叫做MPMo ...
- iOS开发系列- 视频MPMoviePlayerController
MPMoviePlayerController 在iOS中播放视频可以使用MediaPlayer.framework种的MPMoviePlayerController类来完成,它支持本地视频和网络视频 ...
- iOS 全局禁止横屏,但UIWebView 全屏播放视频,横屏,解决办法(任意页面横竖屏或禁止)
iOS 全局禁止横屏,但UIWebView 全屏播放视频,横屏,解决办法 时间 2015-07-14 20:59:00 博客园-原创精华区 原文 http://www.cnblogs.com/fe ...
随机推荐
- python+selenium+Eclipse安装
1.安装python 参考安装python:http://www.cnblogs.com/beyongblue/p/4215740.html 2.安装python管理工具setuptools 3.安装 ...
- 扯扯maven的蛋
同样是放在有道云笔记里,各种散乱加发霉,抽空来整理整理,分几个部分来扯扯maven. 一.Maven是啥求. Maven 为Apache 组织中的开源项目,主要服务于基于Java 平台的项目构建.依赖 ...
- 第二章App框架设计与重构
response标准格式: { "isError":false, "errorType": 0, "errorMessage": " ...
- Windows后渗透
My 命令行下收集主机信息 使用wmic识别安装到系统中的补丁情况: wmic qfe get description,installedOn 识别正在运行的服务: sc query type= se ...
- 第一百零三节,JavaScript对象和数组
JavaScript对象和数组 学习要点: 1.Object类型 2.Array类型 3.对象中的方法 什么是对象,其实就是一种类型,即引用类型.而对象的值就是引用类型的实例.在ECMAScript中 ...
- 第九十六节,JavaScript概述
JavaScript概述 学习要点: 1.什么是JavaScript 2.JavaScript特点 3.JavaScript历史 4.JavaScript核心 5.开发工具集 JavaScript诞生 ...
- get获取Json
前端代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <sc ...
- Haskell开始
一.安装 操作系统为centos,为了安装最新的Haskell编译器,不使用命令 yum install ghc 1.安装ghc 使用wget下载ghc,命令如下(注意系统是centos6.7) $ ...
- 一、什么是WCF
注:本文为学习摘抄,原地址:http://www.cnblogs.com/iamlilinfeng/archive/2012/09/25/2700049.html 一.概述 Windows Commu ...
- ubuntu 14.04 GDAL
autotools-dev comerr-dev hdf5-helpers icu-devtools krb5-multidev libarmadillo4 libarpack2 libblas3 l ...