101 Star 937 Fork 277

CarGuo / GSYVideoPlayer

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
SimpleDetailActivityMode2.java 5.71 KB
一键复制 编辑 原始数据 按行查看 历史
package com.example.gsyvideoplayer.simple;
import android.content.res.Configuration;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import com.example.gsyvideoplayer.R;
import com.shuyu.gsyvideoplayer.GSYVideoManager;
import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder;
import com.shuyu.gsyvideoplayer.listener.GSYSampleCallBack;
import com.shuyu.gsyvideoplayer.listener.LockClickListener;
import com.shuyu.gsyvideoplayer.utils.OrientationUtils;
import com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer;
/**
* 简单详情实现模式2
* 横屏不旋转的 Demo
*/
public class SimpleDetailActivityMode2 extends AppCompatActivity {
StandardGSYVideoPlayer detailPlayer;
private boolean isPlay;
private boolean isPause;
//private OrientationUtils orientationUtils;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_simple_detail_player);
detailPlayer = (StandardGSYVideoPlayer) findViewById(R.id.detail_player);
String url = "http://7xjmzj.com1.z0.glb.clouddn.com/20171026175005_JObCxCE2.mp4";
//增加封面
ImageView imageView = new ImageView(this);
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setImageResource(R.mipmap.xxx1);
//增加title
detailPlayer.getTitleTextView().setVisibility(View.GONE);
detailPlayer.getBackButton().setVisibility(View.GONE);
//外部辅助的旋转,帮助全屏
//orientationUtils = new OrientationUtils(this, detailPlayer);
//初始化不打开外部的旋转
// orientationUtils.setEnable(false);
GSYVideoOptionBuilder gsyVideoOption = new GSYVideoOptionBuilder();
gsyVideoOption.setThumbImageView(imageView)
.setIsTouchWiget(true)
.setRotateViewAuto(false)
.setLockLand(false)
.setAutoFullWithSize(false)
.setShowFullAnimation(false)
.setNeedLockFull(true)
.setUrl(url)
.setCacheWithPlay(false)
.setVideoTitle("测试视频")
///不需要旋转
.setNeedOrientationUtils(false)
.setVideoAllCallBack(new GSYSampleCallBack() {
@Override
public void onPrepared(String url, Object... objects) {
super.onPrepared(url, objects);
//开始播放了才能旋转和全屏
//orientationUtils.setEnable(detailPlayer.isRotateWithSystem());
isPlay = true;
}
@Override
public void onQuitFullscreen(String url, Object... objects) {
super.onQuitFullscreen(url, objects);
// ------- !!!如果不需要旋转屏幕,可以不调用!!!-------
// 不需要屏幕旋转,还需要设置 setNeedOrientationUtils(false)
// if (orientationUtils != null) {
// orientationUtils.backToProtVideo();
// }
}
}).setLockClickListener(new LockClickListener() {
@Override
public void onClick(View view, boolean lock) {
// if (orientationUtils != null) {
// //配合下方的onConfigurationChanged
// orientationUtils.setEnable(!lock);
// }
}
}).build(detailPlayer);
detailPlayer.getFullscreenButton().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//直接横屏
// ------- !!!如果不需要旋转屏幕,可以不调用!!!-------
// 不需要屏幕旋转,还需要设置 setNeedOrientationUtils(false)
// orientationUtils.resolveByClick();
//第一个true是否需要隐藏actionbar,第二个true是否需要隐藏statusbar
detailPlayer.startWindowFullscreen(SimpleDetailActivityMode2.this, true, true);
}
});
}
@Override
public void onBackPressed() {
// ------- !!!如果不需要旋转屏幕,可以不调用!!!-------
// 不需要屏幕旋转,还需要设置 setNeedOrientationUtils(false)
// if (orientationUtils != null) {
// orientationUtils.backToProtVideo();
// }
if (GSYVideoManager.backFromWindowFull(this)) {
return;
}
super.onBackPressed();
}
@Override
protected void onPause() {
detailPlayer.getCurrentPlayer().onVideoPause();
super.onPause();
isPause = true;
}
@Override
protected void onResume() {
detailPlayer.getCurrentPlayer().onVideoResume(false);
super.onResume();
isPause = false;
}
@Override
protected void onDestroy() {
super.onDestroy();
if (isPlay) {
detailPlayer.getCurrentPlayer().release();
}
// if (orientationUtils != null)
// orientationUtils.releaseListener();
}
/**
* orientationUtils 和 detailPlayer.onConfigurationChanged 方法是用于触发屏幕旋转的
*/
@Override
public void onConfigurationChanged(@NonNull Configuration newConfig) {
super.onConfigurationChanged(newConfig);
//如果旋转了就全屏
// if (isPlay && !isPause) {
// detailPlayer.onConfigurationChanged(this, newConfig, orientationUtils, true, true);
// }
}
}
Android
1
https://gitee.com/CarGuo/GSYVideoPlayer.git
git@gitee.com:CarGuo/GSYVideoPlayer.git
CarGuo
GSYVideoPlayer
GSYVideoPlayer
master

搜索帮助