支持IJKPlayer、ExoPlayer、MediaPlayer和其它更多解码器切换、支持静音、镜像、渲染模式、倍速设置等功能的轻便级播放器,支持自定义解码器、控制器、UI交互组件和悬浮窗播放能力等
allprojects {
repositories {
maven { url 'https://jitpack.io' }
}
}
dependencies {
//播放器(无UI交互)
implementation 'com.github.hty527.iPlayer:iplayer:2.1.26.1'
//SDK默认UI交互组件
implementation 'com.github.hty527.iPlayer:widget:2.1.26.1'
}
<com.android.iplayer.widget.VideoPlayer
android:id="@+id/video_player"
android:layout_width="match_parent"
android:layout_height="200dp"/>
mVideoPlayer = (VideoPlayer) findViewById(R.id.video_player);
mVideoPlayer.getLayoutParams().height= getResources().getDisplayMetrics().widthPixels * 9 /16;//固定播放器高度,或高度设置为:match_parent
//使用SDK自带控制器+各UI交互组件
VideoController controller = VideoPlayer.initController();//初始化SDK默认控制器
//将UI交互组件绑定到控制器(需集成:implementation 'com.github.hty527.iPlayer:widget:lastversion')
WidgetFactory.bindDefaultControls(controller);
controller.setTitle("测试地址播放");//视频标题(仅横屏状态可见)
//设置播放源
mVideoPlayer.setDataSource("https://upload.dongfeng-nissan.com.cn/nissan/video/202204/4cfde6f0-bf80-11ec-95c3-214c38efbbc8.mp4");
//异步开始准备播放
mVideoPlayer.prepareAsync();
@Override
protected void onResume() {
super.onResume();
mVideoPlayer.onResume();
}
@Override
protected void onPause() {
super.onPause();
mVideoPlayer.onPause();
}
@Override
public void onBackPressed() {
if(mVideoPlayer.isBackPressed()){
super.onBackPressed();
}
}
@Override
protected void onDestroy() {
super.onDestroy();
mVideoPlayer.onDestroy();
}