菜鸟带你使用JieCaoMediaPlayer播放本地视频

项目中有用到视频播放的功能,因为我自己也是菜鸟一枚,参考了许多框架之后,觉得JieCao应该简单最好处理,所以就选择用JieCao来播放视频了。JIecao本身是基于安卓MediaPlayer的,所以使用方法类似,不过对于很多偷懒的人来说,省去了直接使用MediaPlayer中间很多的过程。

附上Jiecao的Git地址:https://github.com/lipangit/JieCaoVideoPlayer , 具体用法可以参考文档指南,或者加群问。

这里的代码是接上一篇文章写的《Android遍历文件夹下的视频文件,获取视频文件的缩略图展示》,偷懒如我,还请见谅,下面开始正文了。老规矩,先看下效果如何。


开始录源码了,跟上篇文章重复的地方我就不多讲了,先看下要注意的地方。首先是jar包的冲突,这是引入依赖包的时候的报错信息,说是发现了两个v4.jar包菜鸟带你使用JieCaoMediaPlayer播放本地视频_第1张图片

我的做法是删除了自己工程中的v4.jar包,下面是我的工程结构

菜鸟带你使用JieCaoMediaPlayer播放本地视频_第2张图片


这下jar包就都是外部引入的了,跟自己的工程没关系。

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

菜鸟带你使用JieCaoMediaPlayer播放本地视频_第3张图片

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

菜鸟带你使用JieCaoMediaPlayer播放本地视频_第4张图片

这里我在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布局文件就很简单了,如下所示。




    


其实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

你可能感兴趣的:(android--视频相关)