文:布谷惠澤/來源:山東布谷鳥網(wǎng)絡(luò)
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:主機(jī)域名、網(wǎng)頁空間、營銷軟件、網(wǎng)站建設(shè)、海拉爾網(wǎng)站維護(hù)、網(wǎng)站推廣。MPMoviePlayerController
用來播放視頻,在iOS9之后被棄用(iOS9之后蘋果推薦我們使用AVPlayer,AVPlayer相對(duì)復(fù)雜但靈活),由于APP往往要兼容iOS9之前的版本,所有MPMoviePlayerController還是很重要的。
在我的另一篇文章中分享了一個(gè)
基于MPMoviePlayerController
的播放器
,大家可以看看,目前還不完整。小伙伴們可以關(guān)注一下我的簡(jiǎn)書。謝謝
MPMoviePlayerController的簡(jiǎn)單使用 需要添加這個(gè)框架MediaPlayer.framework #import <MediaPlayer/MediaPlayer.h>
#pragma mark - 本地 NSString* _moviePath=[[NSBundle mainBundle]pathForResource:@"popeye" ofType:@"mp4"]; self.player=[[MPMoviePlayerController alloc]initWithContentURL:[NSURL fileURLWithPath:_moviePath]]; [self.view addSubview:self.player.view]; self.player.view.frame=CGRectMake(0, 0, self.view.frame.size.width, CGRectGetWidth(self.view.frame)*(9.0/16.0)); self.player.movieSourceType = MPMovieSourceTypeFile;// 播放本地視頻時(shí)需要這句 // self.player.controlStyle = MPMovieControlStyleNone;// 不需要進(jìn)度條 self.player.shouldAutoplay = YES;// 是否自動(dòng)播放(默認(rèn)為YES) // self.player.scalingMode=MPMovieScalingModeAspectFill; [self.player prepareToPlay];//緩存 // [self.player play];//可以不加這句
#pragma mark - 網(wǎng)絡(luò) NSURL* url = [NSURL URLWithString:@"https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4"]; _player = [[MPMoviePlayerController alloc] initWithContentURL:url]; [self.view addSubview:self.player.view]; self.player.view.frame=CGRectMake(0, 0, self.view.frame.size.width, CGRectGetWidth(self.view.frame)*(9.0/16.0)); [self.player prepareToPlay]; [self.player play];
#pragma mark - 直播 NSURL* url = [NSURL URLWithString:@"http://live.hkstv.hk.lxdns.com/live/hks/playlist.m3u8"]; _player = [[MPMoviePlayerController alloc] initWithContentURL:url]; [self.view addSubview:self.player.view]; self.player.view.frame=CGRectMake(0, 0, self.view.frame.size.width, CGRectGetWidth(self.view.frame)*(9.0/16.0)); self.player.controlStyle=MPMovieSourceTypeStreaming;//直播 [self.player prepareToPlay]; // [self.player play]; MPMoviePlayerController提供了很多通知,這里我就簡(jiǎn)單的監(jiān)聽2個(gè)。我們可以通過監(jiān)聽到的信息做相應(yīng)的處理。 #pragma mark - Notification //監(jiān)聽視頻播放結(jié)束 [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(endPlay) name:MPMoviePlayerPlaybackDidFinishNotification object:nil]; //監(jiān)聽當(dāng)前視頻播放狀態(tài) [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(loadStateDidChange:) name:MPMoviePlayerLoadStateDidChangeNotification object:nil]; #pragma mark - Notification function -(void)endPlay { NSLog(@"播放結(jié)束"); } -(void)loadStateDidChange:(NSNotification*)sender { switch (self.player.loadState) { case MPMovieLoadStatePlayable: { NSLog(@"加載完成,可以播放"); } break; case MPMovieLoadStatePlaythroughOK: { NSLog(@"緩沖完成,可以連續(xù)播放"); } break; case MPMovieLoadStateStalled: { NSLog(@"緩沖中"); } break; case MPMovieLoadStateUnknown: { NSLog(@"未知狀態(tài)"); } break; default: break; } } #pragma mark - dealloc - (void)dealloc { [[NSNotificationCenter defaultCenter]removeObserver:self]; }
當(dāng)前題目:iOS短視頻源碼開發(fā)MPMoviePlayerController-創(chuàng)新互聯(lián)
URL分享:http://vcdvsql.cn/article48/csihep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、域名注冊(cè)、網(wǎng)站維護(hù)、企業(yè)建站、定制網(wǎng)站、網(wǎng)站營銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容