菜鳥帶你使用JieCaoMediaPlayer播放本地視訊
阿新 • • 發佈:2019-02-12
專案中有用到視訊播放的功能,因為我自己也是菜鳥一枚,參考了許多框架之後,覺得JieCao應該簡單最好處理,所以就選擇用JieCao來播放視訊了。JIecao本身是基於安卓MediaPlayer的,所以使用方法類似,不過對於很多偷懶的人來說,省去了直接使用MediaPlayer中間很多的過程。
開始錄原始碼了,跟上篇文章重複的地方我就不多講了,先看下要注意的地方。首先是jar包的衝突,這是引入依賴包的時候的報錯資訊,說是發現了兩個v4.jar包
我的做法是刪除了自己工程中的v4.jar包,下面是我的工程結構
這下jar包就都是外部引入的了,跟自己的工程沒關係。
首先看下MainActivity中新增和改變的地方。
看下Adapter中新增的部分,僅僅只多寫了一句。
這裡我在adapter中把自己定義的實體類MediaBean作為Tag標籤設定給GridView的每個item,所以就可以直接通過getTag()得到對應的實體類,個人以為這一點值得新手菜鳥借鑑和學習,不用在使用的時候另外去建立一個對應的順序的List,然後根據position取到對應的實體。
跟上一篇想比,多加了一個播放的activity,這裡也貼出來給大家參考下,其實很簡單的。
至於對應的xml佈局檔案就很簡單了,如下所示。public class JCPlayerActivity extends Activity { JCVideoPlayerStandard jcVideoPlayerStandard ; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_jcplayer); initView(); } private void initView(){ jcVideoPlayerStandard = (JCVideoPlayerStandard) findViewById(R.id.jiecao_player_view); MediaBean bean = (MediaBean) getIntent().getSerializableExtra("media"); // 獲取傳遞過來的bean String path = bean.getPath(); // 視訊地址 String name = bean.getMediaName(); // 視訊名稱 jcVideoPlayerStandard.setUp(path, JCVideoPlayerStandard.SCREEN_WINDOW_FULLSCREEN, ""+name); jcVideoPlayerStandard.startPlayLogic(); // 開始自動播放 // 視訊的回退按鈕設定點選事件 jcVideoPlayerStandard.backButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { jcVideoPlayerStandard.release(); // 釋放視訊 startActivity(new Intent(JCPlayerActivity.this, MainActivity.class)); // 跳轉到上層介面 JCPlayerActivity.this.finish(); // 結束當前介面 } }); } @Override protected void onDestroy() { JCVideoPlayer.releaseAllVideos(); super.onDestroy(); } }
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <fm.jiecao.jcvideoplayer_lib.JCVideoPlayerStandard android:id="@+id/jiecao_player_view" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout>
其實jiecao的使用比較簡單,一句程式碼就可以播放視訊了
jcVideoPlayerStandard.setUp(path, JCVideoPlayerStandard.SCREEN_WINDOW_FULLSCREEN, ""+name);
不過在實際使用中肯定不止這麼簡單,哈哈,至於細節問題,大家可以自己多多去研究。
記得在onDestroy方法中呼叫releaseAllVideos()方法釋放視訊資源。
@Override
protected void onDestroy() {
JCVideoPlayer.releaseAllVideos();
super.onDestroy();
}
附上原始碼的連線:
安卓獲取視訊縮圖 - 下載頻道 - CSDN.NET http://download.csdn.net/detail/u010898329/9769733