//先导依赖
implementation 'com.github.open-android:IjkPlayer:1.0.0'
//根build.gradle allprojects { repositories { ...... maven { url "https://jitpack.io" } } }
//主方法
public class MainActivity extends AppCompatActivity {
private IjkPlayerView mPlayerView;
private Uri mUri;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mPlayerView = findViewById(R.id.player_view);
mUri = Uri.parse("http://ips.ifeng.com/video19.ifeng.com/video09/2014/06/16/1989823-102-086-0009.mp4");
mPlayerView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mPlayerView.init()
.setVideoPath(mUri)
.setMediaQuality(IjkPlayerView.MEDIA_QUALITY_HIGH)
.enableDanmaku()
.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;
}
return super.onKeyDown(keyCode, event);
}
@Override
public void onBackPressed() {
if (mPlayerView.onBackPressed()) {
return;
}
super.onBackPressed();
}
}
//xml
<com.dl7.player.media.IjkPlayerView android:id="@+id/player_view" android:layout_width="match_parent" android:layout_height="match_parent" />