保利威視頻播放器功能抽取,僅作為播放課程資源使用爆土,去除多余功能椭懊。


由于項目中所使用的場景,除了直播和回放步势,還有一個就是簡單的課程資源播放器氧猬,然后取出整體的冗余,使用一個較為簡單播放器來進行播放操作坏瘩。保利威直播的demo和開發(fā)文檔盅抚,在實際調(diào)試過程中,讓人非常頭疼倔矾,在github(https://github.com/polyv)上進行查看整理后妄均,才大致進行了抽取工作。

效果如下:

首先是布局代碼:


代碼布局中比較簡單哪自,主要包含一個PolyvVideoView組件丰包,一個PolyvPlayerMediaController控制器組件,一個PolyvPlayerPreviewView默認圖組件提陶,三個基礎(chǔ)的布局組合成一個基礎(chǔ)的播放窗體烫沙,包含視頻縮略圖,視頻控制器隙笆,和視頻播放器锌蓄。

對應的播放邏輯代碼如下:

/**

? ? * 播放視頻

? ? */

? ? fun play(

? ? ? ? vid: String,? //視頻資源id

? ? ? ? mediaController: PolyvPlayerMediaController, //控制器

? ? ? ? videoView: PolyvVideoView,

? ? ? ? viewLayout: RelativeLayout,

? ? ? ? firstView: PolyvPlayerPreviewView? //預覽圖

? ? ) {

? ? ? ? val danmuFragment: PolyvPlayerDanmuFragment = PolyvPlayerDanmuFragment();

? ? ? ? videoView.release();

? ? ? ? firstView.hide()

? ? ? ? videoView.setAutoPlay(true)

? ? ? ? mediaController.setDanmuFragment(danmuFragment);

? ? ? ? mediaController.initConfig(viewLayout)

? ? ? ? mediaController.hindMenuView()

? ? ? ? videoView.mediaController = mediaController

? ? ? ? videoView.setVid(vid)

? ? ? ? videoView.setOnPreparedListener(IPolyvOnPreparedListener2 {

? ? ? ? ? ? mediaController.preparedView()

? ? ? ? })

? ? ? ? videoView.setOnVideoStatusListener { status ->

? ? ? ? ? ? if (status < 60) {

//? ? ? ? ? ? ? ? Toast.makeText(

//? ? ? ? ? ? ? ? ? ? this,

//? ? ? ? ? ? ? ? ? ? "狀態(tài)錯誤 $status",

//? ? ? ? ? ? ? ? ? ? Toast.LENGTH_SHORT

//? ? ? ? ? ? ? ? ).show()

? ? ? ? ? ? } else {

? ? ? ? ? ? ? ? Log.d(

? ? ? ? ? ? ? ? ? ? "yxy",

? ? ? ? ? ? ? ? ? ? String.format("狀態(tài)正常 %d", status)

? ? ? ? ? ? ? ? )

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? //視頻不播放,先顯示一張縮略圖

? ? ? ? firstView.setCallback(PolyvPlayerPreviewView.Callback { //在播放視頻時設(shè)置viewerId方法使用示例

? ? ? ? ? ? videoView.setVid(vid)

? ? ? ? })

? ? ? ? firstView.show(vid)

? ? ? ? videoView.setOnPlayPauseListener(object : IPolyvOnPlayPauseListener {

? ? ? ? ? ? override fun onPause() {

? ? ? ? ? ? ? ? mediaController.updatePictureInPictureActions(

? ? ? ? ? ? ? ? ? ? R.drawable.polyv_btn_play_port,

? ? ? ? ? ? ? ? ? ? "pause",

? ? ? ? ? ? ? ? ? ? 1,

? ? ? ? ? ? ? ? ? ? 1

? ? ? ? ? ? ? ? )

? ? ? ? ? ? }

? ? ? ? ? ? override fun onPlay() {

? ? ? ? ? ? ? ? mediaController.updatePictureInPictureActions(

? ? ? ? ? ? ? ? ? ? R.drawable.polyv_btn_pause_port,

? ? ? ? ? ? ? ? ? ? "start",

? ? ? ? ? ? ? ? ? ? 2,

? ? ? ? ? ? ? ? ? ? 2

? ? ? ? ? ? ? ? )

? ? ? ? ? ? }

? ? ? ? ? ? override fun onCompletion() {

? ? ? ? ? ? ? ? mediaController.updatePictureInPictureActions(

? ? ? ? ? ? ? ? ? ? R.drawable.polyv_btn_play_port,

? ? ? ? ? ? ? ? ? ? "pause",

? ? ? ? ? ? ? ? ? ? 1,

? ? ? ? ? ? ? ? ? ? 1

? ? ? ? ? ? ? ? )

? ? ? ? ? ? }

? ? ? ? })

? ? }

由于在控制器中進行了部分操作的封裝撑柔,所以此處屏蔽了一些非必要的操作瘸爽。? mediaController.hindMenuView()

至此一個基礎(chǔ)的保利威播放邏輯就算處理好了,僅引用了最基礎(chǔ)的播放和控制器的功能铅忿,其他的功能都沒用到剪决。

出自CSDN(小樣不一樣)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子柑潦,更是在濱河造成了極大的恐慌享言,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件渗鬼,死亡現(xiàn)場離奇詭異览露,居然都是意外死亡,警方通過查閱死者的電腦和手機譬胎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門差牛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人堰乔,你說我怎么就攤上這事偏化。” “怎么了镐侯?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵侦讨,是天一觀的道長。 經(jīng)常有香客問我析孽,道長搭伤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任袜瞬,我火速辦了婚禮怜俐,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘邓尤。我一直安慰自己拍鲤,他們只是感情好,可當我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布汞扎。 她就那樣靜靜地躺著季稳,像睡著了一般。 火紅的嫁衣襯著肌膚如雪澈魄。 梳的紋絲不亂的頭發(fā)上景鼠,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天,我揣著相機與錄音痹扇,去河邊找鬼铛漓。 笑死,一個胖子當著我的面吹牛鲫构,可吹牛的內(nèi)容都是我干的浓恶。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼结笨,長吁一口氣:“原來是場噩夢啊……” “哼包晰!你這毒婦竟也來了湿镀?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤伐憾,失蹤者是張志新(化名)和其女友劉穎勉痴,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體塞耕,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡蚀腿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年嘴瓤,在試婚紗的時候發(fā)現(xiàn)自己被綠了扫外。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡廓脆,死狀恐怖筛谚,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情停忿,我是刑警寧澤驾讲,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站席赂,受9級特大地震影響吮铭,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜颅停,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一谓晌、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧癞揉,春花似錦纸肉、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至芥牌,卻和暖如春烦味,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背壁拉。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工谬俄, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人扇商。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓凤瘦,卻偏偏與公主長得像,于是被迫代替她去往敵國和親案铺。 傳聞我的和親對象是個殘疾皇子蔬芥,可洞房花燭夜當晚...
    茶點故事閱讀 44,979評論 2 355

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