視頻播放有兩種方法,一個是MPMoviePlayerController,雖然名字是controller,但是他繼承自NSObject,并不是視圖,他有一個view屬性,可以設置大小.
另一個是視頻播放視圖控制器MPMoviePlayerViewController,彈出一個全屏的視頻播放界面,不支持改變大小.
MPMoviePlayerController *movie=[[MPMoviePlayerController alloc]init]; _movie.contentURL=url; _movie.view.frame=CGRectMake(0, 20, 375, 550); //添加到窗口 [self.view addSubview:_movie.view]; //播放 [_movie play];
當視頻播放完后,movie.view并不會自動移除.但是視頻播放完后,系統會產生一個播放完畢通知,所以我們建立一個通知中心來獲取.
//注冊通知,檢測視頻是否播放完成 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(stopPlay) name:MPMoviePlayerPlaybackDidFinishNotification object:nil];//通知方法-(void)stopPlay{ [_movie.view removeFromSuperview];}
MPMoviePlayerViewController *playerViewController=[[MPMoviePlayerViewController alloc]initWithContentURL:url];//將視頻播放器界面模態彈出,并且自動播放[self PResentViewController:playerViewController animated:YES completion:nil];
MPMoviePlayerViewController播放完畢后會自動彈出,不需要通知中心管理.
注:url為視頻鏈接,兩者都可以直接播放網絡鏈接.
新聞熱點
疑難解答