代码拉取完成,页面将自动刷新
基于MediaPlayer 解码和ExoPlayer 解码等多种解码方式,支持多种离线播放、在线播放、m3u8 格式等
// String mp4 = "http://resources.kuaifa.tv/uploads/20180711/5f0f69f67f5a08d7cf10791639f6cb0b.mp4";
String mp4 = "http://resources.kuaifa.tv//upload/a/2018/0424/164623bc52f605.mp4";
String m3u8 = "http://live.hkstv.hk.lxdns.com/live/hks/playlist.m3u8";
String url;
Class decodeMedia;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Util.SET_FULL(this);
qsVideoView = findViewById(R.id.qs);
//进入全屏的模式 0横屏 1竖屏 2传感器自动横竖屏 3根据视频比例自动确定横竖屏 -1什么都不做
qsVideoView.enterFullMode = 3;
qsVideoView.setPlayListener(new PlayListener() {
@Override
public void onStatus(int status) {//播放状态
Log.e(TAG, "onStatus: " + status);
if (status == IVideoPlayer.STATE_AUTO_COMPLETE)
play(mp4, AndroidMedia.class);
}
@Override//全屏/普通/浮窗
public void onMode(int mode) {
}
@Override
public void onEvent(int what, Integer... extra) {
Log.e(TAG, "onEvent: " + what + " ::::" + extra);
}
});
play(mp4, AndroidMedia.class);
}
private void play(String url, Class<? extends BaseMedia> decodeMedia) {
qsVideoView.release();
qsVideoView.setDecodeMedia(decodeMedia);
qsVideoView.setUp(url);
qsVideoView.setMute(true);
qsVideoView.play();
this.url = url;
this.decodeMedia = decodeMedia;
}
@Override
public void onResume() {
super.onResume();
if (flag)
qsVideoView.play();
if (position > 0) {
qsVideoView.seekTo(position);
position = 0;
}
}
boolean flag;//记录退出时播放状态 回来的时候继续播放
int position;//记录销毁时的进度 回来继续盖进度播放
@Override
public void onPause() {
super.onPause();
//暂停
flag = qsVideoView.isPlaying();
qsVideoView.pause();
}
@Override
public void onStop() {
super.onStop();
}
@Override
public void onDestroy() {
super.onDestroy();//销毁
qsVideoView.release();
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型