提交 07e86453 编写于 作者: S shuyu

1.2.8

上级 8e6106d6
......@@ -17,13 +17,13 @@
<dependency>
<groupId>com.shuyu</groupId>
<artifactId>gsyVideoPlayer</artifactId>
<version>1.2.7</version>
<version>1.2.8</version>
<type>pom</type>
</dependency>
```
```
compile 'com.shuyu:gsyVideoPlayer:1.2.7'
compile 'com.shuyu:gsyVideoPlayer:1.2.8'
```
## 效果,录屏下的屏幕旋转和实际有些出入
......@@ -43,6 +43,13 @@ compile 'com.shuyu:gsyVideoPlayer:1.2.7'
* <h4>3、详情模式</h4>
<img src="https://github.com/CarGuo/GSYVideoPlayer/blob/master/04.gif" width="240px" height="426px"/>
### 1.2.8 增加了改变播放速度的方法,0 - 2左右的速度,但只支持6.0以上(= =),升级IJKPlayer到0.7.5。
```
/**
* 播放速度
*/
public void setSpeed(float speed)
```
### 1.2.7 修改了循环播放的时候,重新播放不弹出控制UI;修改了FragmentActivity的actionBar问题
......
......@@ -16,7 +16,7 @@ ext {
//ViewLibraries
butterKnifeVersion = '8.2.1'
ijkplayer = '0.7.4'
ijkplayer = '0.7.5'
transitionseverywhere = '1.7.0'
......
......@@ -18,7 +18,7 @@ org.gradle.jvmargs=-Xmx1536m
BINTRAY_USER=
BINTRAY_KEY=
PROJ_GROUP=com.shuyu
PROJ_VERSION=1.2.7
PROJ_VERSION=1.2.8
PROJ_NAME=gsyVideo
PROJ_WEBSITEURL=hhttps://github.com/CarGuo/GSYVideoPlayer
PROJ_ISSUETRACKERURL=
......
......@@ -140,6 +140,9 @@ public class GSYVideoManager implements IMediaPlayer.OnPreparedListener, IMediaP
mediaPlayer.setOnErrorListener(GSYVideoManager.this);
mediaPlayer.setOnInfoListener(GSYVideoManager.this);
mediaPlayer.setOnVideoSizeChangedListener(GSYVideoManager.this);
if (((GSYModel) msg.obj).getSpeed() != 1 && ((GSYModel) msg.obj).getSpeed() > 0) {
mediaPlayer.setSpeed(((GSYModel) msg.obj).getSpeed());
}
mediaPlayer.prepareAsync();
} catch (Exception e) {
e.printStackTrace();
......@@ -166,11 +169,11 @@ public class GSYVideoManager implements IMediaPlayer.OnPreparedListener, IMediaP
}
public void prepare(final String url, final Map<String, String> mapHeadData, boolean loop) {
public void prepare(final String url, final Map<String, String> mapHeadData, boolean loop, float speed) {
if (TextUtils.isEmpty(url)) return;
Message msg = new Message();
msg.what = HANDLER_PREPARE;
GSYModel fb = new GSYModel(url, mapHeadData, loop);
GSYModel fb = new GSYModel(url, mapHeadData, loop, speed);
msg.obj = fb;
mMediaHandler.sendMessage(msg);
}
......
......@@ -339,7 +339,7 @@ public abstract class GSYVideoPlayer extends GSYBaseVideoPlayer implements View.
mAudioManager.requestAudioFocus(onAudioFocusChangeListener, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);
((Activity) getContext()).getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
GSYVideoManager.instance().prepare(mUrl, mMapHeadData, mLooping);
GSYVideoManager.instance().prepare(mUrl, mMapHeadData, mLooping, mSpeed);
setStateAndUi(CURRENT_STATE_PREPAREING);
}
......
......@@ -11,12 +11,16 @@ public class GSYModel {
String url;
Map<String, String> mapHeadData;
float speed = 1;
boolean looping;
public GSYModel(String url, Map<String, String> mapHeadData, boolean loop) {
public GSYModel(String url, Map<String, String> mapHeadData, boolean loop, float speed) {
this.url = url;
this.mapHeadData = mapHeadData;
this.looping = loop;
this.speed = speed;
}
public String getUrl() {
......@@ -42,4 +46,12 @@ public class GSYModel {
public void setLooping(boolean looping) {
this.looping = looping;
}
public float getSpeed() {
return speed;
}
public void setSpeed(float speed) {
this.speed = speed;
}
}
......@@ -39,6 +39,7 @@ public class ListVideoUtil {
private Context context;
private int playPosition = -1; // 播放的位置
private int speed = 1; // 播放速度,仅支持6.0
private boolean isFull; //当前是否全屏
private boolean isSmall; //当前是否小屏
private boolean hideStatusBar; //是否隐藏有状态bar
......@@ -117,6 +118,8 @@ public class ListVideoUtil {
gsyVideoPlayer.setLooping(isLoop);
gsyVideoPlayer.setSpeed(speed);
gsyVideoPlayer.setUp(url, true, "");
//增加title
......@@ -515,6 +518,18 @@ public class ListVideoUtil {
return gsyVideoPlayer.getDuration();
}
public int getSpeed() {
return speed;
}
/**
* 播放速度,仅支持6.0
*/
public void setSpeed(int speed) {
this.speed = speed;
}
/**
* 获取当前播放进度
*/
......
......@@ -59,6 +59,8 @@ public abstract class GSYBaseVideoPlayer extends FrameLayout implements GSYMedia
protected int mCurrentState = -1; //当前的播放状态
protected float mSpeed = 1;//播放速度,只支持6.0以上
protected boolean mRotateViewAuto = true; //是否自动旋转
protected boolean mIfCurrentIsFullscreen = false;//当前是否全屏
......@@ -229,6 +231,7 @@ public abstract class GSYBaseVideoPlayer extends FrameLayout implements GSYMedia
gsyVideoPlayer.setIfCurrentIsFullscreen(true);
gsyVideoPlayer.setVideoAllCallBack(mVideoAllCallBack);
gsyVideoPlayer.setLooping(isLooping());
gsyVideoPlayer.setSpeed(getSpeed());
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);
......@@ -379,6 +382,7 @@ public abstract class GSYBaseVideoPlayer extends FrameLayout implements GSYMedia
gsyVideoPlayer.onClickUiToggle();
gsyVideoPlayer.setVideoAllCallBack(mVideoAllCallBack);
gsyVideoPlayer.setLooping(isLooping());
gsyVideoPlayer.setSpeed(getSpeed());
gsyVideoPlayer.setSmallVideoTextureView(new SmallVideoTouch(gsyVideoPlayer, marginLeft, marginTop));
GSYVideoManager.instance().setLastListener(this);
......@@ -537,4 +541,16 @@ public abstract class GSYBaseVideoPlayer extends FrameLayout implements GSYMedia
public void setLockLand(boolean lockLand) {
this.mLockLand = lockLand;
}
public float getSpeed() {
return mSpeed;
}
/**
* 播放速度,只支持6.0以上
*/
public void setSpeed(float speed) {
this.mSpeed = speed;
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册