Skip to content

Commit

Permalink
新增获取播放速度的方法
Browse files Browse the repository at this point in the history
  • Loading branch information
Doikki committed Mar 10, 2020
1 parent cdaf128 commit 3516a9c
Show file tree
Hide file tree
Showing 9 changed files with 63 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,7 @@ public void stopFadeOut() {
/**
* 隐藏播放视图Runnable
*/
public final Runnable mFadeOut = new Runnable() {
protected final Runnable mFadeOut = new Runnable() {
@Override
public void run() {
hide();
Expand Down Expand Up @@ -293,12 +293,12 @@ public void stopProgress() {
/**
* 刷新进度Runnable
*/
private Runnable mShowProgress = new Runnable() {
protected Runnable mShowProgress = new Runnable() {
@Override
public void run() {
int pos = setProgress();
if (mControlWrapper.isPlaying()) {
postDelayed(mShowProgress, 1000 - (pos % 1000));
postDelayed(this, (long) ((1000 - pos % 1000) / mControlWrapper.getSpeed()));
} else {
mIsStartProgress = false;
}
Expand Down Expand Up @@ -534,8 +534,9 @@ private void handleVisibilityChanged(boolean isVisible, Animation anim) {

/**
* 子类重写此方法监听控制的显示和隐藏
*
* @param isVisible 是否可见
* @param anim 显示/隐藏动画
* @param anim 显示/隐藏动画
*/
protected void onVisibilityChanged(boolean isVisible, Animation anim) {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,11 @@ public void setSpeed(float speed) {
mPlayerControl.setSpeed(speed);
}

@Override
public float getSpeed() {
return mPlayerControl.getSpeed();
}

@Override
public long getTcpSpeed() {
return mPlayerControl.getTcpSpeed();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ public interface MediaPlayerControl {

void setSpeed(float speed);

float getSpeed();

long getTcpSpeed();

void replay(boolean resetPosition);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,11 @@ public abstract class AbstractPlayer {
*/
public abstract void setSpeed(float speed);

/**
* 获取播放速度
*/
public abstract float getSpeed();

/**
* 获取当前缓冲的网速
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,19 @@ public void setSpeed(float speed) {
}
}

@Override
public float getSpeed() {
// only support above Android M
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
try {
return mMediaPlayer.getPlaybackParams().getSpeed();
} catch (Exception e) {
mPlayerEventListener.onError();
}
}
return 1f;
}

@Override
public long getTcpSpeed() {
// no support
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -601,6 +601,14 @@ public void setSpeed(float speed) {
}
}

@Override
public float getSpeed() {
if (isInPlaybackState()) {
return mMediaPlayer.getSpeed();
}
return 1f;
}

/**
* 设置视频地址
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -264,6 +264,14 @@ public void setSpeed(float speed) {
}
}

@Override
public float getSpeed() {
if (mSpeedPlaybackParameters != null) {
return mSpeedPlaybackParameters.speed;
}
return 1f;
}

@Override
public long getTcpSpeed() {
// no support
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,11 @@ public void setSpeed(float speed) {
mMediaPlayer.setSpeed(speed);
}

@Override
public float getSpeed() {
return mMediaPlayer.getSpeed(0);
}

@Override
public long getTcpSpeed() {
return mMediaPlayer.getTcpSpeed();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,18 @@ public void setSpeed(float speed) {
mAPlayer.setConfig(APlayerAndroid.CONFIGID.PLAY_SPEED, String.valueOf(speed * 100));
}

@Override
public float getSpeed() {
String strSpeed = mAPlayer.getConfig(APlayerAndroid.CONFIGID.PLAY_SPEED);
float fSpeed;
try {
fSpeed = Float.parseFloat(strSpeed);
} catch (NumberFormatException e) {
fSpeed = 1f;
}
return fSpeed;
}

@Override
public long getTcpSpeed() {
return Long.parseLong(mAPlayer.getConfig(APlayerAndroid.CONFIGID.DOWN_SPEED));
Expand Down

0 comments on commit 3516a9c

Please sign in to comment.