Skip to content

Commit

Permalink
Merge pull request Doikki#781 from Doikki/dev
Browse files Browse the repository at this point in the history
release 3.3.7
  • Loading branch information
Doikki authored Jul 24, 2022
2 parents de93d8a + 2e47546 commit f0d4148
Show file tree
Hide file tree
Showing 41 changed files with 1,270 additions and 1,179 deletions.
6 changes: 3 additions & 3 deletions constants.gradle
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
project.ext {
releaseVersion = '3.3.6'
releaseVersionCode = 54
releaseVersion = '3.3.7'
releaseVersionCode = 55

minSdkVersion = 16
targetSdkVersion = 31
compileSdkVersion = 31
buildToolsVersion = '33.0.0'

exoPlayerVersion = '2.18.0'
exoPlayerVersion = '2.18.1'

annotation = 'androidx.annotation:annotation:1.1.0'
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
*/
public class ControlWrapper implements MediaPlayerControl, IVideoController {

private MediaPlayerControl mPlayerControl;
private IVideoController mController;
private final MediaPlayerControl mPlayerControl;
private final IVideoController mController;

public ControlWrapper(@NonNull MediaPlayerControl playerControl, @NonNull IVideoController controller) {
mPlayerControl = playerControl;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ public abstract class GestureVideoController extends BaseVideoController impleme
private boolean mIsGestureEnabled = true;
private int mStreamVolume;
private float mBrightness;
private int mSeekPosition;
private int mSeekPosition = -1;
private boolean mFirstTouch;
private boolean mChangePosition;
private boolean mChangeBrightness;
Expand Down Expand Up @@ -246,7 +246,7 @@ protected void slideToChangeBrightness(float deltaY) {
WindowManager.LayoutParams attributes = window.getAttributes();
int height = getMeasuredHeight();
if (mBrightness == -1.0f) mBrightness = 0.5f;
float brightness = deltaY * 2 / height * 1.0f + mBrightness;
float brightness = deltaY * 2 / height + mBrightness;
if (brightness < 0) {
brightness = 0f;
}
Expand Down Expand Up @@ -287,14 +287,14 @@ public boolean onTouchEvent(MotionEvent event) {
switch (action) {
case MotionEvent.ACTION_UP:
stopSlide();
if (mSeekPosition > 0) {
if (mSeekPosition >= 0) {
mControlWrapper.seekTo(mSeekPosition);
mSeekPosition = 0;
mSeekPosition = -1;
}
break;
case MotionEvent.ACTION_CANCEL:
stopSlide();
mSeekPosition = 0;
mSeekPosition = -1;
break;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public class AndroidMediaPlayer extends AbstractPlayer implements MediaPlayer.On

protected MediaPlayer mMediaPlayer;
private int mBufferedPercent;
private Context mAppContext;
protected Context mAppContext;
private boolean mIsPreparing;

public AndroidMediaPlayer(Context context) {
Expand Down Expand Up @@ -113,7 +113,12 @@ public boolean isPlaying() {
@Override
public void seekTo(long time) {
try {
mMediaPlayer.seekTo((int) time);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
//使用这个api seekTo定位更加准确 支持android 8.0以上的设备 https://developer.android.com/reference/android/media/MediaPlayer#SEEK_CLOSEST
mMediaPlayer.seekTo(time, MediaPlayer.SEEK_CLOSEST);
} else {
mMediaPlayer.seekTo((int) time);
}
} catch (IllegalStateException e) {
mPlayerEventListener.onError();
}
Expand Down Expand Up @@ -206,9 +211,11 @@ public float getSpeed() {
// only support above Android M
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
try {
return mMediaPlayer.getPlaybackParams().getSpeed();
float speed = mMediaPlayer.getPlaybackParams().getSpeed();
if (speed == 0f) speed = 1f;
return speed;
} catch (Exception e) {
mPlayerEventListener.onError();
return 1f;
}
}
return 1f;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,17 @@
*/
final class AudioFocusHelper implements AudioManager.OnAudioFocusChangeListener {

private Handler mHandler = new Handler(Looper.getMainLooper());
private final Handler mHandler = new Handler(Looper.getMainLooper());

private WeakReference<VideoView> mWeakVideoView;
private final WeakReference<BaseVideoView> mWeakVideoView;

private AudioManager mAudioManager;
private final AudioManager mAudioManager;

private boolean mStartRequested = false;
private boolean mPausedForLoss = false;
private int mCurrentFocus = 0;

AudioFocusHelper(@NonNull VideoView videoView) {
AudioFocusHelper(@NonNull BaseVideoView videoView) {
mWeakVideoView = new WeakReference<>(videoView);
mAudioManager = (AudioManager) videoView.getContext().getApplicationContext().getSystemService(Context.AUDIO_SERVICE);
}
Expand All @@ -48,7 +48,7 @@ public void run() {
}

private void handleAudioFocusChange(int focusChange) {
final VideoView videoView = mWeakVideoView.get();
final BaseVideoView videoView = mWeakVideoView.get();
if (videoView == null) {
return;
}
Expand Down
Loading

0 comments on commit f0d4148

Please sign in to comment.