提交 94f914b1 编写于 作者: S shuyu

增加了全屏禁止滑动触摸的方法 (2017-04-05)

上级 d671a30d
......@@ -34,7 +34,7 @@
#### 直接在module下的build.gradle添加
```
compile 'com.shuyu:GSYVideoPlayer:1.6.1'
compile 'com.shuyu:GSYVideoPlayer:1.6.2'
```
......@@ -55,7 +55,7 @@ allprojects {
```
dependencies {
compile 'com.github.CarGuo:GSYVideoPlayer:v1.6.1'
compile 'com.github.CarGuo:GSYVideoPlayer:v1.6.2'
}
```
......@@ -101,35 +101,25 @@ dependencies {
## 近期版本
### 1.6.1(2017-03-23)
* setSpeed接口修改为支持播放中设置
* 内存优化
* update ijk to 0.7.8.1
* 增加超时接口 GSYVideoManager
### 1.6.2(2017-04-05)
* 移除无用代码
* 修复了动态播放按键的显示小白点问题
* 增加了 NormalGSYVideoPlayer(使用正常图片做播放按键、系统loading的播放器)
* 增加了动态加载so的方法
* 增加了setIsTouchWigetFull方法,全屏的时候也可以禁止滑动产生的快进,声音,亮度调节逻辑
```
/**
* 是否需要在buffer缓冲时,增加外部超时判断
*
* 超时后会走onError接口,播放器通过onPlayError回调出
*
* 错误码为 : BUFFER_TIME_OUT_ERROR = -192
*
* 由于onError之后执行GSYVideoPlayer的OnError,如果不想触发错误,
* 可以重载onError,在super之前拦截处理。
*
* public void onError(int what, int extra){
* do you want before super and return;
* super.onError(what, extra)
* }
*
* @param timeOut 超时时间,毫秒 默认8000
* @param needTimeOutOther 是否需要延时设置,默认关闭
* 设置自定义so包加载类
* 需要在instance之前设置
*/
public void setTimeOut(int timeOut, boolean needTimeOutOther) {
this.timeOut = timeOut;
this.needTimeOutOther = needTimeOutOther;
}
public static void setIjkLibLoader(IjkLibLoader libLoader)
```
```
/**
* 是否可以全屏滑动界面改变进度,声音等
* 默认 true
*/
public void setIsTouchWigetFull(boolean isTouchWigetFull)
```
......
## 下方个版本说明,可以当做简单的wiki使用~,效果可参考DEMO。
### 1.6.2()
### 1.6.2(2017-04-05)
* 移除无用代码
* 修复了动态播放按键的显示小白点问题
* 增加了 NormalGSYVideoPlayer(使用正常图片做播放按键、系统loading的播放器)
* 增加了动态加载so的方法
* 增加了setIsTouchWigetFull方法,全屏的时候也可以禁止滑动产生的快进,声音,亮度调节逻辑
```
/**
* 设置自定义so包加载类
......@@ -12,7 +13,13 @@
*/
public static void setIjkLibLoader(IjkLibLoader libLoader)
```
```
/**
* 是否可以全屏滑动界面改变进度,声音等
* 默认 true
*/
public void setIsTouchWigetFull(boolean isTouchWigetFull)
```
### 1.6.1(2017-03-23)
* setSpeed接口修改为支持播放中设置
* 内存优化
......
......@@ -82,6 +82,7 @@ public class DetailPlayer extends AppCompatActivity {
orientationUtils.setEnable(false);
detailPlayer.setIsTouchWiget(true);
//detailPlayer.setIsTouchWigetFull(false);
//关闭自动旋转
detailPlayer.setRotateViewAuto(false);
detailPlayer.setLockLand(false);
......
......@@ -115,8 +115,6 @@ public abstract class GSYVideoPlayer extends GSYBaseVideoPlayer implements View.
protected boolean mTouchingProgressBar = false;
protected boolean mIsTouchWiget = false;
protected boolean mChangeVolume = false;//是否改变音量
protected boolean mChangePosition = false;//是否改变播放进度
......@@ -201,7 +199,7 @@ public abstract class GSYVideoPlayer extends GSYBaseVideoPlayer implements View.
* 设置自定义so包加载类,必须在setUp之前调用
* 不然setUp时会第一次实例化GSYVideoManager
*/
public void setIjkLibLoader(IjkLibLoader libLoader){
public void setIjkLibLoader(IjkLibLoader libLoader) {
GSYVideoManager.setIjkLibLoader(libLoader);
}
......@@ -576,7 +574,8 @@ public abstract class GSYVideoPlayer extends GSYBaseVideoPlayer implements View.
float absDeltaX = Math.abs(deltaX);
float absDeltaY = Math.abs(deltaY);
if (mIfCurrentIsFullscreen || mIsTouchWiget) {
if ((mIfCurrentIsFullscreen && mIsTouchWigetFull)
|| (mIsTouchWiget && !mIfCurrentIsFullscreen)) {
if (!mChangePosition && !mChangeVolume && !mBrightness) {
if (absDeltaX > mThreshold || absDeltaY > mThreshold) {
cancelProgressTimer();
......@@ -915,7 +914,7 @@ public abstract class GSYVideoPlayer extends GSYBaseVideoPlayer implements View.
//循环在播放的不显示loading
} else {
//避免在onPrepared之前就进入了buffering,导致一只loading
if(mHadPlay && mCurrentState != CURRENT_STATE_PREPAREING && mCurrentState > 0)
if (mHadPlay && mCurrentState != CURRENT_STATE_PREPAREING && mCurrentState > 0)
setStateAndUi(CURRENT_STATE_PLAYING_BUFFERING_START);
}
} else if (what == MediaPlayer.MEDIA_INFO_BUFFERING_END) {
......@@ -923,7 +922,7 @@ public abstract class GSYVideoPlayer extends GSYBaseVideoPlayer implements View.
if (mLooping && mHadPlay) {
//循环在播放的不显示
} else {
if(mHadPlay && mCurrentState != CURRENT_STATE_PREPAREING && mCurrentState > 0)
if (mHadPlay && mCurrentState != CURRENT_STATE_PREPAREING && mCurrentState > 0)
setStateAndUi(mBackUpPlayingBufferState);
}
mBackUpPlayingBufferState = -1;
......@@ -1137,16 +1136,6 @@ public abstract class GSYVideoPlayer extends GSYBaseVideoPlayer implements View.
((Activity) (mContext)).getWindow().setAttributes(lpa);
}
public boolean isTouchWiget() {
return mIsTouchWiget;
}
/**
* 是否可以滑动界面改变进度,声音等
*/
public void setIsTouchWiget(boolean isTouchWiget) {
this.mIsTouchWiget = isTouchWiget;
}
/**
* 获取播放按键
......@@ -1245,7 +1234,7 @@ public abstract class GSYVideoPlayer extends GSYBaseVideoPlayer implements View.
public long getNetSpeed() {
if (GSYVideoManager.instance().getMediaPlayer() != null
&& (GSYVideoManager.instance().getMediaPlayer() instanceof IjkMediaPlayer)) {
return ((IjkMediaPlayer)GSYVideoManager.instance().getMediaPlayer()).getTcpSpeed();
return ((IjkMediaPlayer) GSYVideoManager.instance().getMediaPlayer()).getTcpSpeed();
} else {
return -1;
}
......
......@@ -133,6 +133,10 @@ public abstract class GSYBaseVideoPlayer extends FrameLayout implements GSYMedia
protected OrientationUtils mOrientationUtils; //旋转工具类
protected boolean mIsTouchWiget = true; //是否支持非全屏滑动触摸有效
protected boolean mIsTouchWigetFull = true; //是否支持全屏滑动触摸有效
private Handler mHandler = new Handler();
/**
......@@ -326,6 +330,7 @@ public abstract class GSYBaseVideoPlayer extends FrameLayout implements GSYMedia
gsyVideoPlayer.setVideoAllCallBack(mVideoAllCallBack);
gsyVideoPlayer.setLooping(isLooping());
gsyVideoPlayer.setSpeed(getSpeed());
gsyVideoPlayer.setIsTouchWigetFull(mIsTouchWigetFull);
final FrameLayout.LayoutParams lpParent = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
final FrameLayout frameLayout = new FrameLayout(context);
frameLayout.setBackgroundColor(Color.BLACK);
......@@ -729,6 +734,32 @@ public abstract class GSYBaseVideoPlayer extends FrameLayout implements GSYMedia
return mNeedShowWifiTip;
}
public boolean isTouchWiget() {
return mIsTouchWiget;
}
/**
* 是否可以滑动界面改变进度,声音等
* 默认true
*/
public void setIsTouchWiget(boolean isTouchWiget) {
this.mIsTouchWiget = isTouchWiget;
}
public boolean isTouchWigetFull() {
return mIsTouchWigetFull;
}
/**
* 是否可以全屏滑动界面改变进度,声音等
* 默认 true
*/
public void setIsTouchWigetFull(boolean isTouchWigetFull) {
this.mIsTouchWigetFull = isTouchWigetFull;
}
/**
* 是否需要显示流量提示,默认true
*/
......@@ -767,4 +798,6 @@ public abstract class GSYBaseVideoPlayer extends FrameLayout implements GSYMedia
public void setShrinkImageRes(int mShrinkImageRes) {
this.mShrinkImageRes = mShrinkImageRes;
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册