編輯:關於android開發
前段時間項目中需要在 Android 中播放視頻、流媒體、查看監控,就研究了一下 Android 多媒體解決方案。
查找了一下,大致有如下幾種:
Android MediaPlayer 是 Android 內置的播放器,支持格式很有限:3gp mp4,且不支持流媒體。
FFmpeg 是一套功能強大的跨平台多媒體解決方案,需要用NDK編譯,支持海量格式、流媒體。
Google ExoPlayer 是一個Google在2014年才推出的介於現有MediaPlayer和自定義媒體播放器之間的預建播放器,要求 Android 4.1+,支持多種格式、DASH(Dynamic Adaptive Streaming over HTTP),易於擴展。
Vitamio 是國人開發的一個流行的第三方多媒體庫,支持 Android、iOS,最新版商業使用需要授權。
VLC是另一個功能強大的跨平台多媒體解決方案,支持海量格式、流媒體,集成了FFmpeg的部分功能,官方支持Android平台。
本文將使用VLC在Android中播放視頻,最終效果如下:
1、編譯VLC Android
VLC 官方 git 倉庫:http://git.videolan.org/
VLC Android 官方 git 倉庫:https://code.videolan.org/videolan/vlc-android
VLC Android 官方編譯說明:https://wiki.videolan.org/AndroidCompile
VLC Android比較難得的是提供了Android原生aar包,項目裡可以直接引用。按照上述說明即可編譯出對應架構(ARM、x86、MIPS等)的aar包。
我這裡編譯好了一份 ARMv7 的aar 包,可以在這裡下載。
項目源碼已托管在Github:https://github.com/mymbrooks/VLCAndroidDemo
2、新建一個Android項目,把aar包復制到app/libs目錄下:
3、修改 app/build.gradle,添加:
4、創建第一個界面,支持播放本地和遠程視頻:
5、為了兼容 Android 6.0 + ,播放本地視頻時需要先請求讀取SD卡的權限:
6、使用了一個第三方的方法方便獲取Android 4.4及以上的真實視頻路徑:
7、創建 VLC 播放器界面,使用SurfaceView顯示視頻,支持進度條、音量控制,暫停、繼續,全屏顯示:
8、播放進度控制:
9、獲取視頻長度等信息:
10、播放過程中更新時間進度:
11、將播放時間進度格式化為:hh:mm:ss
12、播放本地和遠程視頻時使用的方法不同:
VLC Android 提供的功能很豐富,如需要其他高級功能,請參考官方App源碼。
此外,VLC Android 還提供了一個原生控件,具體用法可自行嘗試:
自定義Dialog,android自定義dialog如圖是效果圖,第一個按鈕當按下時彈出一個自定義的Dialog,第二個和第三個分別是ProgressBar,只是簡單的改
網上商城4--首頁二級分類的查詢,4--二級分類 1.創建表 CREATE TABLE `categorysecond` ( `csid` int(1
mvp+retrofit+rxjava,retrofitrxjava引用 retrofit : com.squareup.retrofit2:r
47.Android 自定義PopupWindow技巧 47.Android 自定義PopupWindow技巧 Android 自定義PopupWindow技巧 前言 P