AVPlayer
AVPlayer是一個(gè)控制器對(duì)象道盏,用于對(duì)媒體資源的錄音播放和時(shí)間上的管理因苹。它提供了用來(lái)控制播放器上的一些特性的界面,比如播放蛤育、暫停宛官、改變播放速度和在播放時(shí)間內(nèi)尋找任何一個(gè)時(shí)間點(diǎn)的功能。您可以使用AVPlayer播放本地和遠(yuǎn)程的基于文件的媒體瓦糕,如QuickTime影片和MP3音頻文件底洗,以及使用HTTP視頻流的在線(xiàn)直播服務(wù)。
概覽
注意
AVPlayer是用于播放單個(gè)媒體資源刻坊。player的實(shí)例可以通過(guò)重用來(lái)播放其它的媒體資源(使用其 replaceCurrentItemWithPlayerItem:方法)枷恕,但在同一時(shí)刻只能管理一個(gè)媒體資源。該框架還提供AVPlayer的一個(gè)子類(lèi)谭胚,叫做AVQueuePlayer徐块,你可以用它來(lái)創(chuàng)建和管理包含了很多媒體資源的隊(duì)列,讓它進(jìn)行順序播放灾而。
你需要?jiǎng)?chuàng)建一個(gè)AVPlayer的動(dòng)態(tài)實(shí)例來(lái)播放媒體資源胡控,而這個(gè)實(shí)例可以在AVPlayerItem中找到。這個(gè)對(duì)象(AVPlayerItem)管理當(dāng)前AVPlayer播放的資源的播放進(jìn)度和播放狀態(tài)旁趟。
AVPlayer和AVPlayerItem是不可見(jiàn)的對(duì)象昼激,這意味著只用這兩個(gè)類(lèi)無(wú)法將媒體資源在屏幕上顯示。我們可以使用以下兩種主要的方法來(lái)在屏幕上顯示視頻內(nèi)容:
- AVKit:在iOS和tvOS中使用AVKit框架里面的AVPlayerViewController類(lèi)或在OS X 中使用AVPlayerView類(lèi)是顯示媒體資源最好的方式橙困。這兩個(gè)類(lèi)顯示媒體的內(nèi)容,并帶有其它控制的功能耕餐,可以給用戶(hù)帶來(lái)最全的媒體播放體驗(yàn)。
- AVPlayerLayer:如果需要自定義播放器的界面肠缔,可以使用AVFoundation框架提供的核心動(dòng)畫(huà)中的一個(gè)子類(lèi)哼转,叫做 AVPlayerLayer。這個(gè)Player Layer可以當(dāng)做是一個(gè)視圖的背景圖層槽华,或者可以直接添加到layer層壹蔓。不像AVPlayerView和AVPlayerViewController,Player Layer不會(huì)顯示任何播放控制相關(guān)的功能佣蓉,而僅僅是把內(nèi)容呈現(xiàn)出來(lái)。所以這個(gè)播放器的播放偏螺、暫停等功能的實(shí)現(xiàn)都取決于自己的需求。