- 源码类别:项目源码
- 源码大小:未知
- 编码格式:gbk,utf8,不限
- 运行环境:Android studio
该视频播放器基于Bilibili的开源项目ijkplayer做的,是在github上的demo基础上搭建了个播放界面,如果你之前有研究过这个demo代码,那你看这个库就非常简单了。至于还不知道ijkplayer这个开源库的话可以先去了解下,这应该是目前github最火的开源视频播放器了吧,网上对这个的介绍也很多这里就不讲这个了。
我从Bilibili客户端扒了好多图标来用,希望不要造成不好的影响,我也算个B站粉- -。下面先列一下目前集成的主要功能:
-
沉浸式全屏播放,隐藏状态栏和虚拟键如果有的话,用的时候有些需要注意的地方放后面说;
-
弹幕功能,包括发射弹幕和弹幕基本样式设置:大小、颜色和类型(顶部、底部和滚动弹幕),效果同Bilibili;
-
竖屏和横屏的切换,其实就是小屏和全屏的切换,提供了重力感应来切换竖横屏功能;
-
触屏控制,竖直方向左边控制亮度,右边控制声音,水平方向控制播放进度;
-
三指旋转缩放,当三个手指触屏时就可以进行视频界面的旋转缩放,效果同Bilibili;
-
视频源切换,可设置流畅、清晰、高清、超清和1080p等5种视频源;
-
视频宽高比例设置,包括16:9、4:3、视频内嵌填充界面和填充屏幕等4种;
-
记录上次播放进度的跳转功能;
-
其它的如截屏功能,电池电量显示,时间显示,播放常亮,跑马灯标题和锁屏处理;
Screenshot





动图显示比较慢,就传两张gif。
Usage
添加依赖:
-
// 在项目根 build.gradle 添加如下:
-
allprojects {
-
repositories {
-
...
-
maven { url 'https://jitpack.io' }
-
}
-
}
-
-
// 添加依赖库:
-
dependencies {
-
compile 'com.github.Rukey7:IjkPlayerView:{lastest-version}'
-
}
配置AndroidManifest.xml:
-
<activity
-
android:name=".IjkPlayerActivity"
-
android:configChanges="orientation|keyboardHidden|screenSize"/>
布局:
-
<com.dl7.player.media.IjkPlayerView
-
android:id="@+id/player_view"
-
android:layout_width="match_parent"
-
android:layout_height="200dp"/>
代码中调用方式如下:
-
public class IjkPlayerActivity extends AppCompatActivity {
-
-
private IjkPlayerView mPlayerView;
-
-
@Override
-
protected void onCreate(Bundle savedInstanceState) {
-
super.onCreate(savedInstanceState);
-
setContentView(R.layout.activity_ijk_player);
-
setSupportActionBar(mToolbar);
-
-
Glide.with(this).load(IMAGE_URL).fitCenter().into(mPlayerView.mPlayerThumb);
-
mPlayerView.init()
-
.setTitle("这是个标题")
-
.setSkipTip(1000*60*1)
-
.enableOrientation()
-
.setVideoPath(VIDEO_URL)
-
.setVideoSource(null, VIDEO_URL, VIDEO_URL, VIDEO_URL, null)
-
.setMediaQuality(IjkPlayerView.MEDIA_QUALITY_HIGH)
-
.enableDanmaku()
-
.setDanmakuSource(getResources().openRawResource(R.raw.comments))
-
.start();
-
}
-
-
@Override
-
protected void onResume() {
-
super.onResume();
-
mPlayerView.onResume();
-
}
-
-
@Override
-
protected void onPause() {
-
super.onPause();
-
mPlayerView.onPause();
-
}
-
-
@Override
-
protected void onDestroy() {
-
super.onDestroy();
-
mPlayerView.onDestroy();
-
}
-
-
@Override
-
public void onConfigurationChanged(Configuration newConfig) {
-
super.onConfigurationChanged(newConfig);
-
mPlayerView.configurationChanged(newConfig);
-
}
-
-
@Override
-
public boolean onKeyDown(int keyCode, KeyEvent event) {
-
if (mPlayerView.handleVolumeKey(keyCode)) {
-
return true;
本站资源仅限于学习研究,严禁从事商业或者非法活动!
源码搜藏网所有源码来自互联网转载与用户上传分享,如果侵犯了您的权益请与我们联系,我们将在24小时内删除!谢谢!