記錄下用MPMoviePlayerViewController做視頻播放的一些問題
來源:程序員人生 發(fā)布時(shí)間:2015-03-30 08:07:22 閱讀次數(shù):3289次
做視頻播放的時(shí)候,由于要自定義界面,所以使用MPMoviePlayerController時(shí),樣式用的MPMovieControlStyleNone
進(jìn)度,音量等用的自己的界面。但是在需要全屏顯示的時(shí)候,就用到了MPMoviePlayerViewController
以下是點(diǎn)擊橫屏播放的代碼:通過改變view的tranform到達(dá)旋轉(zhuǎn)的效果
- (IBAction)showFullScreenClick:(id)sender {
isFullScreen = YES;
NSString *url = [NSString stringWithFormat:@"%@%@",IMAGE_DOMAIN,[self.data objectForKey:@"content"]];
if (moviePlayerView ==nil) {
moviePlayerView = [[MPMoviePlayerViewController alloc]
initWithContentURL:[NSURL URLWithString:url]];
[moviePlayerView.moviePlayer prepareToPlay];
moviePlayerView.view.frame = CGRectMake(0, 0, self.view.bounds.size.height, self.view.bounds.size.width);
moviePlayerView.view.center = CGPointMake(self.view.bounds.size.width/2, self.view.bounds.size.height/2);
CGAffineTransform transform = CGAffineTransformMakeRotation(M_PI/2);
[moviePlayerView.view setTransform:transform];
}
[self.view addSubview:moviePlayerView.view];
[self hideStatusBar];
[moviePlayerView.moviePlayer play];
}
在旋轉(zhuǎn)以后會出現(xiàn)兩個(gè)狀態(tài)欄,1個(gè)是播放器自帶的狀態(tài)欄(隨著播放器的方向改變),另外的是系統(tǒng)的狀態(tài)欄。
參考這位仁兄的博客 http://blog.csdn.net/chchong1234/article/details/24649083?utm_source=tuicool
所以在全屏后,就需要隱藏系統(tǒng)狀態(tài)欄,返回父視圖以后再顯示
- (BOOL)prefersStatusBarHidden
{
return isHiddenStatusBar;
}
- (void)showStatusBar
{
isHiddenStatusBar = NO;
if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {
[self prefersStatusBarHidden];
[self setNeedsStatusBarAppearanceUpdate];
}
}
- (void)hideStatusBar
{
isHiddenStatusBar = YES;
if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {
[self prefersStatusBarHidden];
[self setNeedsStatusBarAppearanceUpdate];
}
}
這時(shí)候候還要在info文件設(shè)置兩個(gè)變量 參考 http://www.cocoachina.com/bbs/read.php?tid=159175
Status bar is initially hidden 的
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈