先上效果圖
實現思路
主要思路就是用一個控制器來作為播放視頻的載體,然后在讓這個控制器作為根視圖,視頻播放完成之后那就該干嘛干嘛了。
話不多說了,下面就放代碼好了
先新建一個控制器animationviewcontroller
在控制器中新建一個屬性movieplayer
,記得要先引入系統庫<mediaplayer/mediaplayer.h>
1
|
@property (nonatomic, strong) mpmovieplayercontroller *movieplayer; |
設置movieplayer
我是在懶加載中直接設置的
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
-(mpmovieplayercontroller *)movieplayer{ if (!_movieplayer) { _movieplayer = [[mpmovieplayercontroller alloc]init]; [_movieplayer.view setframe:self.view.bounds]; //設置自動播放 [_movieplayer setshouldautoplay:no]; //設置源類型 因為新特性一般都是播放本地的小視頻 所以設置源類型為file _movieplayer.moviesourcetype = mpmoviesourcetypefile; //取消控制視圖 如:播放暫停等 _movieplayer.controlstyle = mpmoviecontrolstylenone; [self.view addsubview:_movieplayer.view]; //監聽播放完成 [[nsnotificationcenter defaultcenter]addobserver:self selector:@selector(playfinsihed) name:mpmovieplayerplaybackdidfinishnotification object:nil]; } return _movieplayer; } |
然后在.h
中公開一個moviepath
視頻的路徑,還有一個結束播放的blockplayfinished
等下需要。
animationviewcontroller
中也算差不多了,畢竟也沒什么東西,接下來我們去appdelegate
中聲明一個animationviewcontroller
屬性
1
2
3
4
5
6
7
8
9
10
11
12
|
- (animationviewcontroller *)animationviewcontroller{ if (!_animationviewcontroller) { _animationviewcontroller = [[animationviewcontroller alloc]init]; //設置本地視頻路徑 _animationviewcontroller.moviepath = [[nsbundle mainbundle] pathforresource:@ "v" oftype:@ "mp4" ]; _animationviewcontroller.playfinished = ^{ uinavigationcontroller *rootnav = [[uinavigationcontroller alloc] initwithrootviewcontroller:[[viewcontroller alloc] init]]; [uiapplication sharedapplication].keywindow.rootviewcontroller = rootnav; }; } return _animationviewcontroller; } |
然后在appdelegate
的啟動方法把這個控制器設為根視圖
1
2
3
4
5
6
|
- ( bool )application:(uiapplication *)application didfinishlaunchingwithoptions:(nsdictionary *)launchoptions { self.window = [[uiwindow alloc]initwithframe:[uiscreen mainscreen].bounds]; self.window.rootviewcontroller = self.animationviewcontroller; [self.window makekeyandvisible]; return yes; } |
總結
這里要說一句,剛開始我用這個路徑但是一直為空,后來我添加了一個名字為resource的文件夾把mp4放進去就好了,以上就是這篇文章的全部內容了,有需要的朋友們可以參考借鑒。