欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

iOS AVPlayer切換播放源實現(xiàn)連續(xù)播放和全屏切換的方法

 更新時間:2017年05月27日 11:54:53   作者:雪_晟  
這篇文章主要給大家介紹了關(guān)于iOS中AVPlayer切換播放源實現(xiàn)連續(xù)播放和全屏切換的方法,文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。

本文主要給大家介紹了關(guān)于iOS AVPlayer切換播放源實現(xiàn)連續(xù)播放和全屏切換的相關(guān)內(nèi)容,分享出來供大家參考學(xué)習(xí),下面來一起看看詳細(xì)的介紹:

AVPlayer 切換播放源有三種方式:

第一種:采用系統(tǒng)自帶的方法: [self.player replaceCurrentItemWithPlayerItem:item] ,但是在切換playItem前要把所有的通知,觀察者移除,切換后重新添加。

第二種:把通知,觀察者全部移除,player 置為nil,然后重新創(chuàng)建。

githup上ZFPlayer 作者表示在iOS9后,AVPlayer的replaceCurrentItemWithPlayerItem方法在切換視頻時底層會調(diào)用信號量等待然后導(dǎo)致當(dāng)前線程卡頓,如果在UITableViewCell中切換視頻播放使用這個方法,會導(dǎo)致當(dāng)前線程凍結(jié)幾秒鐘。遇到這個坑還真不好在系統(tǒng)層面對它做什么,后來找到的解決方法是在每次需要切換視頻時,需重新創(chuàng)建AVPlayer和AVPlayerItem。

因為視頻較小,所以我沒有測試,這兩種方法暫時都可以使用。

第三種可以使用AVQueuePlayer播放多個items,AVQueuePlayer是AVPlayer的子類,可以用一個數(shù)組來初始化一個AVQueuePlayer對象。

代碼如下:

NSArray*items = <#An array of player items#>;AVQueuePlayer*queuePlayer = [[AVQueuePlayeralloc] initWithItems:items];

和AVPlayer一樣,直接調(diào)用play方法來播放,queue player順序播放隊列中的item,如果想要跳過一個item,播放下一個item,可以調(diào)用方法advanceToNextItem。

可以對隊列進(jìn)行插入和刪除操作,調(diào)用方法insertItem:afterItem: , removeItem: , 和removeAllItems。正常情況下當(dāng)插入一個item之前,應(yīng)該檢查是否可以插入,通過使用canInsertItem:afterItem:方法,第二個參數(shù)傳nil

親測第一種第二種沒有問題,第三種當(dāng)然也可以實現(xiàn)連續(xù)播放,后續(xù)再研究。

看到ZFPlayer 的流暢性,就又使用了ZFPlayer作者使用的通知重新簡單封了一遍,連播代碼。


連播 的邏輯無非就是重置Layer 和子控件位置,然后重新設(shè)置一遍。

關(guān)于橫豎屏切換的代碼:


沒有做封裝,可以封裝個方法,傳入當(dāng)前的oriention,然后很霸道的實現(xiàn)橫豎屏切換,demo 是用純代碼寫的,還用了懶加載,這在橫豎屏切換的時候有很大的弊端,因為懶加載的緣故,frame已經(jīng)確定,切換橫豎屏的時候不得已在layoutSubviews里把布局代碼重新寫一遍,這時候就是Masonry 布局的好處了。(Masonry 要更新到最新,要不然iOS10 會崩潰,莫名其妙),還有就是返回的時候要再次調(diào)用這個方法設(shè)置為豎屏。實現(xiàn)橫豎屏的前提是當(dāng)前ViewController的- (UIInterfaceOrientationMask)supportedInterfaceOrientations 必須支持橫豎屏。

如果不想強制橫屏,只是在用戶旋轉(zhuǎn)手機的時候,更換布局,也可以使用下面的通知。


還有個問題是循環(huán)引用的問題:當(dāng)我們聲明一個非屬性的實例變量時,在自己寫的block里會造成循環(huán)引用,導(dǎo)致當(dāng)前view無法釋放。

demo

地址:LXAVPlayerDemo

本地下載:http://xiazai.jb51.net/201705/yuanma/LXAVPlayerDemo(jb51.net).rar

總結(jié)

以上就是這篇文章的全部內(nèi)容了,新人一枚,沒有做良好的封裝,只是研究了一些思路。希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • iOS開發(fā)中使用Picker View實現(xiàn)一個點菜應(yīng)用的UI示例

    iOS開發(fā)中使用Picker View實現(xiàn)一個點菜應(yīng)用的UI示例

    這篇文章主要介紹了iOS開發(fā)中使用Picker View實現(xiàn)一個點菜應(yīng)用的UI示例,代碼基于傳統(tǒng)的Objective-C,需要的朋友可以參考下
    2016-01-01
  • iOS經(jīng)驗之初始化方法中不該設(shè)置self.view的屬性淺析

    iOS經(jīng)驗之初始化方法中不該設(shè)置self.view的屬性淺析

    這篇文章主要給大家介紹了關(guān)于iOS經(jīng)驗之初始化方法中不該設(shè)置self.view的屬性的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧
    2018-09-09
  • iOS常用調(diào)試方法之靜態(tài)分析詳解

    iOS常用調(diào)試方法之靜態(tài)分析詳解

    這篇文章主要給大家介紹了關(guān)于iOS常用調(diào)試方法之靜態(tài)分析的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對各位iOS開發(fā)者們具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • IOS 中兩種單例模式的寫法實例詳解

    IOS 中兩種單例模式的寫法實例詳解

    這篇文章主要介紹了IOS 中兩種單例模式的寫法實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • iOS實現(xiàn)多個彈框按順序依次彈出效果

    iOS實現(xiàn)多個彈框按順序依次彈出效果

    這篇文章主要為大家詳細(xì)介紹了iOS實現(xiàn)多個彈框按順序依次彈出效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • 簡單好用可任意定制的iOS Popover氣泡效果

    簡單好用可任意定制的iOS Popover氣泡效果

    Popover(氣泡彈出框/彈出式氣泡/氣泡)是由一個矩形和三角箭頭組成的彈出窗口,箭頭指向的地方通常是導(dǎo)致Popover彈出的控件或區(qū)域。本文通過實例代碼給大家介紹了iOS Popover氣泡效果,需要的朋友參考下吧
    2017-12-12
  • iOS橫豎屏旋轉(zhuǎn)內(nèi)容總結(jié)

    iOS橫豎屏旋轉(zhuǎn)內(nèi)容總結(jié)

    本篇文章給大家總結(jié)了iOS橫豎屏旋轉(zhuǎn)的相關(guān)內(nèi)容以及實現(xiàn)的代碼分享,有需要的朋友參考下吧。
    2018-01-01
  • iOS實現(xiàn)圖片輪播器

    iOS實現(xiàn)圖片輪播器

    這篇文章主要為大家詳細(xì)介紹了iOS如何實現(xiàn)圖片輪播器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • iOS中長條藍(lán)色按鈕(button)實現(xiàn)代碼

    iOS中長條藍(lán)色按鈕(button)實現(xiàn)代碼

    本文通過實例代碼給大家介紹了iOS中長條藍(lán)色按鈕(button)實現(xiàn)方法,代碼簡單易懂,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2017-08-08
  • iOS中Runtime的幾種基本用法記錄

    iOS中Runtime的幾種基本用法記錄

    RunTime顧名思義運行時,就是系統(tǒng)在運行的時候的一些機制,最主要的是消息機制。下面這篇文章主要給大家介紹了關(guān)于iOS中Runtime的幾種基本用法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07

最新評論