1. 程式人生 > >菜鳥帶你使用JieCaoMediaPlayer播放本地視訊

菜鳥帶你使用JieCaoMediaPlayer播放本地視訊

專案中有用到視訊播放的功能,因為我自己也是菜鳥一枚,參考了許多框架之後,覺得JieCao應該簡單最好處理,所以就選擇用JieCao來播放視訊了。JIecao本身是基於安卓MediaPlayer的,所以使用方法類似,不過對於很多偷懶的人來說,省去了直接使用MediaPlayer中間很多的過程。

開始錄原始碼了,跟上篇文章重複的地方我就不多講了,先看下要注意的地方。首先是jar包的衝突,這是引入依賴包的時候的報錯資訊,說是發現了兩個v4.jar包

我的做法是刪除了自己工程中的v4.jar包,下面是我的工程結構


這下jar包就都是外部引入的了,跟自己的工程沒關係。

首先看下MainActivity中新增和改變的地方。


看下Adapter中新增的部分,僅僅只多寫了一句。


這裡我在adapter中把自己定義的實體類MediaBean作為Tag標籤設定給GridView的每個item,所以就可以直接通過getTag()得到對應的實體類,個人以為這一點值得新手菜鳥借鑑和學習,不用在使用的時候另外去建立一個對應的順序的List,然後根據position取到對應的實體。

跟上一篇想比,多加了一個播放的activity,這裡也貼出來給大家參考下,其實很簡單的。

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佈局檔案就很簡單了,如下所示。
<?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