亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

Android基于IJKPlayer視頻播放器簡單封裝設計

2019-10-21 21:49:59
字體:
來源:轉載
供稿:網友

播放器的簡單設計

播放器基于IJKPlayer來設計的, 播放器大致分三層

1.播放內核(基于ijkMediaplayer)

2.播放器View

3.播放器的MediaController

1、封裝播放內核

我們都知道需要播放一個視頻需要三個過程 1.create MediaPlayer 2.MediaPlayer prepare 3.MediaPlayer 與 Surface 綁定

xinvideoplayer中使用了VideoManager來控制ijkmediaplayer 所有的操作

三個過程 我們使用 HandlerThread + Hander 來實現 第一個過程創建大致可能需要100ms左右,嚴重影響UI線程!??!

第一個過程: create MediaPlayer

new IjkMediaPlayer() 設置一些播放器回調方法

//IJK 的 Mediaplayer api 類似 Android 系統播放器api//IMediaPlayer.classpublic interface IMediaPlayer{ void setOnPreparedListener(IMediaPlayer.OnPreparedListener var1); //prepareAsync 之后回調方法 void setOnCompletionListener(IMediaPlayer.OnCompletionListener var1); //播放完成回調方法 void setOnBufferingUpdateListener(IMediaPlayer.OnBufferingUpdateListener var1);//當播放網絡的數據流的buffer發生變化的時候 void setOnSeekCompleteListener(IMediaPlayer.OnSeekCompleteListener var1);//當seek定位操作完成后 void setOnVideoSizeChangedListener(IMediaPlayer.OnVideoSizeChangedListener var1);//當視頻的大小第一次被知道或者發生改變時 void setOnErrorListener(IMediaPlayer.OnErrorListener var1);//當有發生錯誤 void setOnInfoListener(IMediaPlayer.OnInfoListener var1);//當有信息或者警告 void setOnTimedTextListener(IMediaPlayer.OnTimedTextListener var1); //當媒體的時間數據需要被顯示}

第二個階段 prepare

mediaPlayer.prepareAsync(); 等待回調 IMediaPlayer.OnPreparedListener#onPrepare()

第三個階段 給IJKMediaPlayer 綁定 Surface 呈現畫面

mediaPlayer.setSurface();

2、播放器View

實現 播放器基本方法(IViewPlayer)和 播放內核回調方法(IMediaPlayerListener)

IMediaPlayerListener 是包裝 IMediaPlayer 所有接口并通過 Handle 發送到主線程中實現

//IVideoPlayer.javainterface IVideoPlayer{ void start();//開始播放 void pause();//暫停播放 void seekTo(long time); //seekto time void release();//關閉播放 void setVideoPath();//設置視頻路徑 void onStartFullScreen();//全屏播放 void onBackFullScreen(); //退出全屏 void onResumeVideo();//播放器后臺喚起 void onPauseVideo();//切換后臺 int getCurrentState();//視頻的當前狀態 int getCurrentScreenState(); //當前屏幕的狀態 例如小屏,大屏,豎屏 long getTcpSpeed();//獲取網速 void switchVideoSource(String url,long delay);//切換清晰度 并流暢的切換}public interface MediaPlayerListenerextends IVideoPlayer{ void onPrepared(); void onAutoCompletion(); void onCompletion(); void onBufferingUpdate(int percent); void onSeekComplete(long currentPosition); void onError(int what, int extra); void onInfo(int what, int extra); void onVideoSizeChanged();}

以上接口大致滿足了所有播放器的功能要求?。?/p>

3.MediaController

public interface IVideoController{ //顧名思義 ViewbindPlayer(IVideoPlayer player); void onChangeVideoStatus(IVideoPlayer player,int old_status, int new_status); void onChangeScreenStatus(IVideoPlayer player,int old_status, int new_status); boolean onChangedNetWork(int currentNetState); void onVideoProgress(int percent, long curr_position, long duration); void unbindPlayer(IVideoPlayer player); boolean isLock(); void onVideoDefinitionSwitched(); void show(); void hide(); boolean isShowing();

BaseVideoPlayer#setVideoController()

播放器的簡單接入使用

videoplayer.setVideoPath(url);videoplayer.start();//開始播放//如果需要后臺暫停喚起繼續播放videoplayer.onVideoResume();videoplayer.onVideoPause();//如果需要后臺暫停喚起繼續播放全屏時控制返回鍵問題:if (!VideoPlayerUtils.onBackPressed()) { //返回的正常邏輯}...

播放器的內部實現

Android,IJKPlayer,視頻播放器,封裝設計

預加載需求 & 復用播放器

Android,IJKPlayer,視頻播放器,封裝設計

智能后臺&喚起處理

Android,IJKPlayer,視頻播放器,封裝設計

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
岛国av午夜精品| 欧美肥老太性生活视频| 亚洲人成在线免费观看| 大量国产精品视频| 欧美三级免费观看| 久久久精品影院| 最近2019中文字幕在线高清| 亚洲精品黄网在线观看| 91中文字幕一区| 狠狠躁夜夜躁人人爽天天天天97| 亚洲成人久久电影| 久久影院模特热| 亚洲精品久久久久久下一站| 成人女保姆的销魂服务| 国产免费一区视频观看免费| 欧美高清激情视频| 亚洲综合色av| 亚洲va欧美va国产综合久久| 国产精品美女主播| 午夜精品久久久久久久久久久久| 久久成人亚洲精品| 亚洲欧美中文字幕在线一区| 日韩成人激情在线| 午夜精品久久17c| 久久久国产精彩视频美女艺术照福利| 久久综合五月天| 成人激情免费在线| 亚洲视频专区在线| 久久久91精品| 亚洲国产精品中文| 国产精品手机播放| 精品国产一区二区三区久久| 国产一区二区三区视频在线观看| 日本精品视频网站| 亚洲成人1234| 亚洲成人激情视频| 国产精品视频精品| 日韩av电影免费观看高清| 亚洲aaaaaa| 国产97色在线| 亚洲在线观看视频| 亚洲最大成人网色| 中文字幕亚洲综合久久| 97视频免费看| 日韩精品视频中文在线观看| 日韩av在线免费| 久久国产精品影片| 97成人精品区在线播放| 91香蕉嫩草神马影院在线观看| 亚洲精品久久久久国产| 欧美高清在线播放| 另类少妇人与禽zozz0性伦| 在线丨暗呦小u女国产精品| 91av在线国产| 日韩在线视频免费观看| 成人激情在线观看| 日韩欧美在线播放| 九九热在线精品视频| 国产色视频一区| 亚洲人成在线一二| 亚洲天堂色网站| 国内精品久久久久久影视8| 狠狠色狠色综合曰曰| 97视频在线观看免费高清完整版在线观看| 欧美极品美女视频网站在线观看免费| 亚洲免费精彩视频| 亚洲色图50p| 亚洲国产日韩精品在线| 亚洲精品乱码久久久久久金桔影视| 亚洲日本中文字幕免费在线不卡| 欧美猛男性生活免费| 日韩精品一区二区视频| 亚洲最大成人网色| 中文字幕精品一区久久久久| 亚洲精品久久久久国产| 国产精品亚洲一区二区三区| 欧美日韩精品二区| 欧美丰满老妇厨房牲生活| 国产午夜精品免费一区二区三区| 日韩精品免费看| 久久精品视频一| 国产精品成人播放| 九九热在线精品视频| 亚洲白拍色综合图区| 日本高清+成人网在线观看| 亚洲理论在线a中文字幕| 国产精品综合不卡av| 精品亚洲一区二区三区在线观看| 久久成人这里只有精品| 亚洲人成在线免费观看| 欧美日韩免费在线观看| 欧美在线视频免费观看| 午夜免费日韩视频| 国产成人午夜视频网址| 欧美成人精品三级在线观看| 欧美性xxxx极品高清hd直播| 亚洲国产精品高清久久久| 国产精品网站入口| 国产精品九九久久久久久久| 色琪琪综合男人的天堂aⅴ视频| 亚洲a级在线播放观看| 亚洲欧美视频在线| 色av中文字幕一区| 国产精品自拍视频| 国产精品青草久久久久福利99| 97精品久久久| 精品欧美国产一区二区三区| 91国在线精品国内播放| 岛国av一区二区三区| 亚洲国产精品视频在线观看| 国产美女久久精品香蕉69| 亚洲已满18点击进入在线看片| 欧美黑人一区二区三区| 欧美中文在线观看| 成人羞羞国产免费| 欧美激情精品久久久久久免费印度| 最近2019中文字幕mv免费看| 欧美精品激情在线观看| 日韩精品免费在线视频观看| 在线播放国产一区中文字幕剧情欧美| 欧洲成人午夜免费大片| 午夜精品久久久久久久久久久久| 久久夜色精品国产亚洲aⅴ| 久久夜色精品亚洲噜噜国产mv| 午夜精品久久久久久久白皮肤| 国产91精品高潮白浆喷水| 国产精品福利在线观看| 在线亚洲午夜片av大片| 日本精品视频在线播放| 国产精品欧美久久久| 国产91精品久久久久久久| 91久久嫩草影院一区二区| 2025国产精品视频| 精品少妇一区二区30p| 亚洲精品一区二区网址| 91精品久久久久久| 亚洲免费伊人电影在线观看av| 日韩中文在线不卡| 国产一区二区三区四区福利| 18久久久久久| 国产丝袜高跟一区| 成人欧美一区二区三区在线湿哒哒| www.色综合| 懂色av中文一区二区三区天美| 琪琪亚洲精品午夜在线| 亚洲韩国欧洲国产日产av| 日韩精品在线观| 国产91网红主播在线观看| 亚洲xxxx在线| 久久久国产91| 97不卡在线视频| 亚洲欧洲成视频免费观看| 亚洲色图激情小说| 国产精品久久久久久久久久尿| 国产精品pans私拍| 日韩网站免费观看高清| 88国产精品欧美一区二区三区| 亚洲深夜福利在线| 国产成人激情小视频| 亚洲系列中文字幕| 中文字幕亚洲一区在线观看| 国产一区二区三区久久精品| 国产精品视频久久久| 国产丝袜视频一区|