iOS AVPlayer之后臺播放

很多開發(fā)者以為AVPlayer不能在后臺播放視頻:應用退到后臺享幽,但能播放視頻的聲音(ps:不是通過切換相同的音頻來實現(xiàn))值桩,我在開發(fā)SDK的過程中也遇到這個需求奔坟,所幸解決了這個問題。下面我就來講講實現(xiàn)的過程咳秉。

一 iOS和tvOS應用程序需要您啟用某些后臺操作的某些功能。 播放應用程序所需的常見功能是播放背景音頻向挖。 啟用此功能后何之,當用戶切換到其他應用或鎖定iOS設備時咽筋,您的應用的音頻可以繼續(xù)。 此功能也需要在iOS中啟用高級播放功能蒜危,如AirPlay流媒體和畫中畫播放功能睹耐。啟用背景音頻有兩種方法:
1.在info.plist文件中添加Required background modes 如下圖所示


屏幕快照 2017-09-11 上午9.45.19.png

2.工程Capabilities


屏幕快照 2017-09-11 上午10.12.49.png

二 AVPlayer的處理
如果AVPlayer的當前項目在設備的顯示屏上顯示視頻 占拍,則當應用程序發(fā)送到后臺時捎迫, AVPlayer播放將自動暫停窄绒。 有兩種方法可以防止這種暫停:
1.禁用播放器項目中的視頻軌道崔兴。這種方法僅適用本地文件,不可用于網(wǎng)絡視頻位谋。

讓playerItem = <#你的播放器項目#> 
讓tracks = playerItem.tracks 
for trackItemTrack in tracks { 
//查找視頻軌道并禁用軌道 
playerItemTrack.assetTrack.hasMediaCharacteristic(AVMediaCharacteristicVisual){ 
 playerItemTrack.isEnabled = false
} 
}

2.從相關的AVPlayer刪除AVPlayer(將AVPlayerLayer player屬性設置為nil)掏父。這種方法不僅適用于本地視頻赊淑,還適用于網(wǎng)絡視頻,重點推薦陶缺。
重要提示:這些更改必須在應用程序實際切換到后臺之前生效。 否則AVPlayer將被暫停掺出。 應用程序委托的applicationDidEnterBackground方法方便此目的蛛砰。 如果禁用任何視頻軌道黍衙,則當應用程序轉換到前臺或視頻無法恢復播放時,必須重新啟用這些視頻軌道琅翻。 同樣,您必須將任何AVPlayerLayer重新連接到AVPlayer 聂抢。 應用程序委托applicationDidBecomeActive方法方便此目的琳疏。

//已經(jīng)進入后臺

- (void)applicationDidEnterBackground:(UIApplication *)application {

   LYAVPlayerView *playerView =[LYAVPlayerView sharedInstance];
   [playerView.playerLayer setPlayer:nil];
}

//已經(jīng)激活

- (void)applicationDidBecomeActive:(UIApplication *)application {

    LYAVPlayerView *playerView =[LYAVPlayerView sharedInstance];
    AVPlayer *player =playerView.player;
    [playerView.playerLayer setPlayer:player];
}

GitHub源碼

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末空盼,一起剝皮案震驚了整個濱河市揽趾,隨后出現(xiàn)的幾起案子苛骨,更是在濱河造成了極大的恐慌,老刑警劉巖俐筋,帶你破解...
    沈念sama閱讀 216,324評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件澄者,死亡現(xiàn)場離奇詭異闷哆,居然都是意外死亡,警方通過查閱死者的電腦和手機劣坊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評論 3 392
  • 文/潘曉璐 我一進店門局冰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來康二,“玉大人勇蝙,你說我怎么就攤上這事〔ⅲ” “怎么了翁锡?”我有些...
    開封第一講書人閱讀 162,328評論 0 353
  • 文/不壞的土叔 我叫張陵馆衔,是天一觀的道長。 經(jīng)常有香客問我拷获,道長开镣,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,147評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮树埠,結果婚禮上怎憋,老公的妹妹穿的比我還像新娘。我一直安慰自己毕匀,他們只是感情好癌别,可當我...
    茶點故事閱讀 67,160評論 6 388
  • 文/花漫 我一把揭開白布展姐。 她就那樣靜靜地躺著,像睡著了一般教馆。 火紅的嫁衣襯著肌膚如雪土铺。 梳的紋絲不亂的頭發(fā)上板鬓,一...
    開封第一講書人閱讀 51,115評論 1 296
  • 那天穗熬,我揣著相機與錄音,去河邊找鬼探遵。 笑死妓柜,一個胖子當著我的面吹牛,可吹牛的內容都是我干的藏雏。 我是一名探鬼主播,決...
    沈念sama閱讀 40,025評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼粟誓!你這毒婦竟也來了?” 一聲冷哼從身側響起病瞳,我...
    開封第一講書人閱讀 38,867評論 0 274
  • 序言:老撾萬榮一對情侶失蹤套菜,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后蛹头,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嚎于,經(jīng)...
    沈念sama閱讀 45,307評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡于购,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,528評論 2 332
  • 正文 我和宋清朗相戀三年肋僧,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片止潘。...
    茶點故事閱讀 39,688評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡凭戴,死狀恐怖么夫,靈堂內的尸體忽然破棺而出肤视,到底是詐尸還是另有隱情,我是刑警寧澤邢滑,帶...
    沈念sama閱讀 35,409評論 5 343
  • 正文 年R本政府宣布乐纸,位于F島的核電站摇予,受9級特大地震影響,放射性物質發(fā)生泄漏趾盐。R本人自食惡果不足惜救鲤,卻給世界環(huán)境...
    茶點故事閱讀 41,001評論 3 325
  • 文/蒙蒙 一本缠、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧丹锹,春花似錦、人聲如沸匾灶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至憔杨,卻和暖如春蒜胖,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背妖啥。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評論 1 268
  • 我被黑心中介騙來泰國打工荆虱, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留朽们,地道東北人。 一個月前我還...
    沈念sama閱讀 47,685評論 2 368
  • 正文 我出身青樓菜枷,卻偏偏與公主長得像啤誊,于是被迫代替她去往敵國和親岳瞭。 傳聞我的和親對象是個殘疾皇子瞳筏,可洞房花燭夜當晚...
    茶點故事閱讀 44,573評論 2 353