您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 基于VlC的视频播放器(烟台杰瑞教育Android培训部原创)
烟台杰瑞教育科技有限公司(Android开发培训部)版权所有------杰瑞教育()专注IT技能培训打造一流人才服务平台------基于VlC的视频播放器最近在研究视频播放的功能,之前是使用VideoView。在网上看了一下,感觉不是很好,支持的格式比较少,现在网络视频的格式各种各样,感觉用VideoView播放起来局限性很大。找到了一个比较合适的播放器,Github地址为。这个播放器是基于vlc这个软件,在将我们的demo导入到Eclipse中之后,可以发现,这样一个libvlc文件夹。在Media这个类中我们可以发现,这些是支持的格式还是比较多的。String[]video_extensions={.3g2,.3gp,.3gp2,.3gpp,.amv,.asf,.avi,.divx,.drc,.dv,.f4v,.flv,.gvi,.gxf,.ismv,.iso,.m1v,.m2v,.m2t,.m2ts,.m4v,.mkv,.mov,.mp2,.mp2v,.mp4,.mp4v,.mpe,.mpeg,.mpeg1,.mpeg2,.mpeg4,.mpg,.mpv2,.mts,.mtv,.mxf,.mxg,.nsv,.nut,.nuv,.ogm,.ogv,.ogx,.ps,.rec,.rm,.rmvb,烟台杰瑞教育科技有限公司(Android开发培训部)版权所有------杰瑞教育()专注IT技能培训打造一流人才服务平台------.tod,.ts,.tts,.vob,.vro,.webm,.wm,.wmv,.wtv,.xesc};String[]audio_extensions={.3ga,.a52,.aac,.ac3,.adt,.adts,.aif,.aifc,.aiff,.amr,.aob,.ape,.awb,.caf,.dts,.flac,.it,.m4a,.m4b,.m4p,.mid,.mka,.mlp,.mod,.mpa,.mp1,.mp2,.mp3,.mpc,.mpga,.oga,.ogg,.oma,.opus,.ra,.ram,.rmi,.s3m,.spx,.tta,.voc,.vqf,.w64,.wav,.wma,.wv,.xa,.xm};在这个例子中它自己写了一个PlayerActivity和PlayerView,在PlayerView中实现了libvlc中的IVideoPlayer接口在PlayerActivity中实现PlayerView类,从而进行界面和流程的控制。protectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);mUrl=getIntent().getStringExtra(url);if(TextUtils.isEmpty(mUrl)){Toast.makeText(this,error:nourlinintent!,Toast.LENGTH_SHORT).show();return;}requestWindowFeature(Window.FEATURE_NO_TITLE);getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);setContentView(R.layout.activity_player);mHandler=newHandler(this);烟台杰瑞教育科技有限公司(Android开发培训部)版权所有------杰瑞教育()专注IT技能培训打造一流人才服务平台------tvTitle=(TextView)findViewById(R.id.tv_title);tvTime=(TextView)findViewById(R.id.tv_time);tvLength=(TextView)findViewById(R.id.tv_length);sbVideo=(SeekBar)findViewById(R.id.sb_video);sbVideo.setOnSeekBarChangeListener(this);ibLock=(ImageButton)findViewById(R.id.ib_lock);ibLock.setOnClickListener(this);ibBackward=(ImageButton)findViewById(R.id.ib_backward);ibBackward.setOnClickListener(this);ibPlay=(ImageButton)findViewById(R.id.ib_play);ibPlay.setOnClickListener(this);ibFarward=(ImageButton)findViewById(R.id.ib_forward);ibFarward.setOnClickListener(this);ibSize=(ImageButton)findViewById(R.id.ib_size);ibSize.setOnClickListener(this);llOverlay=findViewById(R.id.ll_overlay);rlOverlayTitle=findViewById(R.id.rl_title);rlLoading=findViewById(R.id.rl_loading);tvBuffer=(TextView)findViewById(R.id.tv_buffer);//使用步骤//第一步:通过findViewById或者newPlayerView()得到mPlayerView对象//mPlayerView=newPlayerView(PlayerActivity.this);mPlayerView=(PlayerView)findViewById(R.id.pv_video);//第二步:设置参数,毫秒为单位mPlayerView.setNetWorkCache(20000);//第三步:初始化播放器mPlayerView.initPlayer(mUrl);//第四步:设置事件监听,监听缓冲进度等mPlayerView.setOnChangeListener(this);//第五步:开始播放mPlayerView.start();//initviewtvTitle.setText(mUrl);showLoading();hideOverlay();}关于如何使用这个类库库两种使用方式:第一种,直接new一个PlayerView或者在布局文件的xml里面嵌入view。烟台杰瑞教育科技有限公司(Android开发培训部)版权所有------杰瑞教育()专注IT技能培训打造一流人才服务平台------第二种,跳转到一个写好的播放页面PlayerActivity(本地文件参数格式:file:///sacard/test.rmvb。)这里我选择了第二种方法startActivity(newIntent(this,PlayerActivity.class).putExtra(url,items.get(position)));通过一个选择列表的形式,点击每一项,传递一个url到PlayerActivity选择列表中的1.2JDK下载.mp4烟台杰瑞教育科技有限公司(Android开发培训部)版权所有------杰瑞教育()专注IT技能培训打造一流人才服务平台------横竖屏的切换也是没有问题的。如果大家有好的播放器,也欢迎大家和我交流。作者:杰瑞教育出处:本文版权归烟台杰瑞教育科技有限公司所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
本文标题:基于VlC的视频播放器(烟台杰瑞教育Android培训部原创)
链接地址:https://www.777doc.com/doc-2572776 .html