使用AVPlayer自定義支持全屏的播放器(二)

前言

前段時(shí)間封裝了一個(gè)視頻播放器,由于時(shí)間匆忙毙驯,還有很多問題以及細(xì)節(jié)還沒有來得及修改拜鹤,最近擠了一點(diǎn)時(shí)間,將播放器完善了一下钧舌,具體思路請(qǐng)參考使用AVPlayer自定義支持全屏的播放器(一)担汤,本篇文章主要講解如何在tableView上面使用。

思路

播放器播放視頻肯定會(huì)占用內(nèi)存洼冻,如果每一個(gè)cell建立一個(gè)播放器崭歧,會(huì)占用不少的內(nèi)存,所有全局只建立一個(gè)播放器撞牢,當(dāng)播放器所在cell滑出屏幕率碾,將播放器銷毀。

使用代碼

當(dāng)點(diǎn)擊cell時(shí)屋彪,創(chuàng)建播放器所宰,并且添加到當(dāng)前cell上。因?yàn)槿种挥幸粋€(gè)播放器畜挥,并且需要在滑動(dòng)的時(shí)候動(dòng)態(tài)計(jì)算當(dāng)前播放器所在cell的位置仔粥,所以使用代理將被點(diǎn)擊的cell傳回所在控制器做相應(yīng)的處理。不需要播放器的時(shí)候記得銷毀播放器蟹但,用以釋放內(nèi)存躯泰。

#pragma mark - 點(diǎn)擊播放代理
- (void)PlayVideoWithCell:(TableViewCell *)cell;
{
    //記錄被點(diǎn)擊的cell
    _cell = cell;
    
    //銷毀播放器
    [_playerView destroyPlayer];
    _playerView = nil;
    
    _playerView = [[CLPlayerView alloc] initWithFrame:CGRectMake(0, 0, cell.width, cell.height)];
    [cell.contentView addSubview:_playerView];
    
    //根據(jù)旋轉(zhuǎn)自動(dòng)支持全屏,默認(rèn)支持
    //    playerView.autoFullScreen = NO;
    //重復(fù)播放华糖,默認(rèn)不播放
    //    playerView.repeatPlay     = YES;
    //如果播放器所在頁面支持橫屏麦向,需要設(shè)置為Yes,不支持不需要設(shè)置(默認(rèn)不支持)
    //    playerView.isLandscape    = YES;
    
    //視頻地址
    _playerView.url = [NSURL URLWithString:cell.model.videoUrl];
    
    //播放
    [_playerView playVideo];
    
    //返回按鈕點(diǎn)擊事件回調(diào)
    [_playerView backButton:^(UIButton *button) {
        NSLog(@"返回按鈕被點(diǎn)擊");
    }];
    
    //播放完成回調(diào)
    [_playerView endPlay:^{
        
        //銷毀播放器
        [_playerView destroyPlayer];
        _playerView = nil;
        NSLog(@"播放完成");
    }];
 
}

tableView滑動(dòng)代理中客叉,需要使用- (void)calculateScrollOffset:(UITableView *)tableView cell:(UITableViewCell *)cell方法诵竭,將tableView和播放器所在cell傳遞給播放器,播放器會(huì)在內(nèi)部計(jì)算播放器所在位置兼搏,在超出的時(shí)候卵慰,會(huì)將播放器銷毀。

/**
 根據(jù)播放器所在位置計(jì)算偏移向族,添加在TableView上時(shí)使用
 
 @param tableView tableView
 @param cell 播放器所在cell
 */
- (void)calculateScrollOffset:(UITableView *)tableView cell:(UITableViewCell *)cell;
#pragma mark - 滑動(dòng)代理
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
   //計(jì)算偏移來銷毀播放器
    [_playerView calculateScrollOffset:self.tableView cell:_cell];
}

播放器效果圖

效果圖1.gif
效果圖2.gif
效果圖3.gif

Demo地址

Demo地址---->CLPlayer 如果喜歡呵燕,歡迎star棠绘。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末件相,一起剝皮案震驚了整個(gè)濱河市再扭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌夜矗,老刑警劉巖泛范,帶你破解...
    沈念sama閱讀 218,284評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異紊撕,居然都是意外死亡罢荡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門对扶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來区赵,“玉大人,你說我怎么就攤上這事浪南×牛” “怎么了?”我有些...
    開封第一講書人閱讀 164,614評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵络凿,是天一觀的道長(zhǎng)骡送。 經(jīng)常有香客問我,道長(zhǎng)絮记,這世上最難降的妖魔是什么摔踱? 我笑而不...
    開封第一講書人閱讀 58,671評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮怨愤,結(jié)果婚禮上派敷,老公的妹妹穿的比我還像新娘。我一直安慰自己憔四,他們只是感情好膀息,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著了赵,像睡著了一般潜支。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上柿汛,一...
    開封第一講書人閱讀 51,562評(píng)論 1 305
  • 那天冗酿,我揣著相機(jī)與錄音,去河邊找鬼络断。 笑死裁替,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的貌笨。 我是一名探鬼主播弱判,決...
    沈念sama閱讀 40,309評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼锥惋!你這毒婦竟也來了昌腰?” 一聲冷哼從身側(cè)響起开伏,我...
    開封第一講書人閱讀 39,223評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎遭商,沒想到半個(gè)月后固灵,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,668評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡劫流,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評(píng)論 3 336
  • 正文 我和宋清朗相戀三年巫玻,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片祠汇。...
    茶點(diǎn)故事閱讀 39,981評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡仍秤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出可很,到底是詐尸還是另有隱情徒扶,我是刑警寧澤,帶...
    沈念sama閱讀 35,705評(píng)論 5 347
  • 正文 年R本政府宣布根穷,位于F島的核電站姜骡,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏屿良。R本人自食惡果不足惜圈澈,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望尘惧。 院中可真熱鬧康栈,春花似錦、人聲如沸喷橙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽贰逾。三九已至悬荣,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間疙剑,已是汗流浹背氯迂。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評(píng)論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留言缤,地道東北人嚼蚀。 一個(gè)月前我還...
    沈念sama閱讀 48,146評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像管挟,于是被迫代替她去往敵國和親轿曙。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件导帝、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,103評(píng)論 4 62
  • 大全:http://9iphp.com/linux/1247.html簡(jiǎn)版:top高階:htop察藐,http://w...
    貍貍的守護(hù)者閱讀 279評(píng)論 0 1
  • 只是一首歌的時(shí)間,心中已走過萬水千山舟扎。萬事萬物,讓它淡淡地來悴务,讓它好好地去睹限。不要偏執(zhí)地愛一個(gè)人,就算他真的值得讯檐。用...
    Bonnie徐閱讀 185評(píng)論 0 1
  • 今天早晨特想偷懶羡疗,和大寶說你可以自己去學(xué)校嗎?媽媽想多睡會(huì)兒别洪,大寶就自己一翻身爬起來叨恨,自己刷牙洗臉吃飯裝水杯...
    Alice林閱讀 230評(píng)論 0 0
  • 早上睜開眼一看七點(diǎn)半了,今天八點(diǎn)美術(shù)課挖垛,趕緊叫起孩子來痒钝,下著小雨怕路上堵車,洗漱收拾完給女兒帶了點(diǎn)吃的急忙奔...
    楚亦菲媽媽閱讀 264評(píng)論 0 0