1.監聽播放出錯 2.萬能解碼框架簡介 1.ffmpeg 2.VLC 3.Vitamio 萬能解碼框架,在Android和IOS平臺上直接使用。Vitamio 能夠流暢播放720P甚至1080P高清MKV,FLV,MP4,MOV,TS,RMVB等常見格式的視頻,還可以在 Android 與 iOS ...
1.監聽播放出錯
class MyOnErrorListener implements MediaPlayer.OnErrorListener { @Override public boolean onError(MediaPlayer mp, int what, int extra) { // Toast.makeText(SystemVideoPlayer.this, "播放出錯了哦", Toast.LENGTH_SHORT).show(); //1.播放的視頻格式不支持--跳轉到萬能播放器繼續播放 startVitamioPlayer(); //2.播放網路視頻的時候,網路中斷---1.如果網路確實斷了,可以提示用於網路斷了;2.網路斷斷續續的,重新播放 //3.播放的時候本地文件中間有空白---下載做完成 return true; } }
2.萬能解碼框架簡介
1.ffmpeg
2.VLC
3.Vitamio 萬能解碼框架,在Android和IOS平臺上直接使用。
Vitamio 能夠流暢播放720P甚至1080P高清MKV,FLV,MP4,MOV,TS,RMVB等常見格式的視頻,還可以在 Android 與 iOS 上跨平臺支持 MMS, RTSP, RTMP, HLS(m3u8) 等常見的多種視頻流媒體協議,包括點播與直播。
裡面封裝了ffmpeg
3.Vitamio的集成
1.關聯Vitamio庫
compile project(':vitamio')
2.把功能清單文件對應的配置拷貝過去 許可權
<uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" />
配置
<!-- Don't forgot InitActivity --> <activity android:name="io.vov.vitamio.activity.InitActivity" android:configChanges="orientation|screenSize|smallestScreenSize|keyboard|keyboardHidden|navigation" android:launchMode="singleTop" android:theme="@android:style/Theme.NoTitleBar" android:windowSoftInputMode="stateAlwaysHidden" />
3.把系統SystemVideoPlayer複製一份,改名VitamioVideoPlayer 導入的包全部換成是Vitamio的包,MediaPlayer,VideoView
自定義VitamioVideoView 繼承Vitamio的VideoView
4.佈局文件activitysystemvideoplayer.xml複製一份改名activityvitamiovideoplayer.xml,並且把裡面的VideoView替換成Vitamio的VitamioVideoView
5.初始化Vitamio庫,在佈局文件載入之前
Vitamio.isInitialized(this);
6.當系統播放器播放出錯的時候跳轉到VitamioVideoPlayer播放 疑問:能否直接用Vitamio播放器播放呢?
註意:a,把數據傳入VtaimoVideoPlayer播放器 b,關閉系統播放器
讓Activity在桌面顯示圖標,並且點擊圖標的時候進入軟體
<category android:name="android.intent.category.LAUNCHER" />