fix 后台返回继续播放;

fix 聚搜;
main
21561 8 months ago
parent 3184797246
commit c4f1885a9a
  1. 2
      app/src/main/java/com/github/tvbox/osc/ui/adapter/FastSearchAdapter.java
  2. 4
      app/src/main/res/layout/item_search.xml
  3. 2
      app/src/main/res/values/dimens.xml
  4. 57
      player/src/main/java/xyz/doikki/videoplayer/player/VideoView.java

@ -38,7 +38,7 @@ public class FastSearchAdapter extends BaseQuickAdapter<Movie.Video, BaseViewHol
.load(item.pic)
.transform(new RoundTransformation(MD5.string2MD5(item.pic))
.centerCorp(true)
.override(AutoSizeUtils.mm2px(mContext, ImgUtil.defaultWidth), AutoSizeUtils.mm2px(mContext, ImgUtil.defaultHeight))
.override(AutoSizeUtils.mm2px(mContext, 204), AutoSizeUtils.mm2px(mContext, 272))
.roundRadius(AutoSizeUtils.mm2px(mContext, 10), RoundTransformation.RoundType.ALL))
.placeholder(R.drawable.img_loading_placeholder)
.noFade()

@ -7,8 +7,8 @@
android:padding="@dimen/vs_1">
<FrameLayout
android:layout_width="@dimen/vs_214"
android:layout_height="@dimen/vs_280">
android:layout_width="@dimen/vs_204"
android:layout_height="@dimen/vs_272">
<ImageView
android:id="@+id/ivThumb"

@ -65,11 +65,13 @@
<dimen name="vs_190">190mm</dimen>
<dimen name="vs_200">200mm</dimen>
<dimen name="vs_214">214mm</dimen>
<dimen name="vs_204">204mm</dimen>
<dimen name="vs_220">220mm</dimen>
<dimen name="vs_230">230mm</dimen>
<dimen name="vs_240">240mm</dimen>
<dimen name="vs_250">250mm</dimen>
<dimen name="vs_270">270mm</dimen>
<dimen name="vs_272">272mm</dimen>
<dimen name="vs_280">280mm</dimen>
<dimen name="vs_300">300mm</dimen>
<dimen name="vs_320">320mm</dimen>

@ -350,11 +350,6 @@ public class VideoView<P extends AbstractPlayer> extends FrameLayout
*/
public void resume() {
if (isInPlaybackState() && !mMediaPlayer.isPlaying()) {
addDisplay();
if (mRenderView != null) {
mRenderView.setScaleType(mCurrentScreenScaleType);
mRenderView.setVideoSize(mVideoSize[0], mVideoSize[1]);
}
assert mRenderView != null;
View renderView = mRenderView.getView();
if (renderView instanceof SurfaceView) {
@ -362,24 +357,19 @@ public class VideoView<P extends AbstractPlayer> extends FrameLayout
final SurfaceHolder holder = surfaceView.getHolder();
if (holder.getSurface() != null && holder.getSurface().isValid()) {
mMediaPlayer.setDisplay(holder);
mMediaPlayer.start();
setPlayState(STATE_PLAYING);
if (mAudioFocusHelper != null && !isMute()) {
mAudioFocusHelper.requestFocus();
}
mPlayerContainer.setKeepScreenOn(true);
resumePlay();
} else {
holder.addCallback(new SurfaceHolder.Callback() {
@Override
public void surfaceCreated(SurfaceHolder holder) {
mMediaPlayer.setDisplay(holder);
mMediaPlayer.start();
setPlayState(STATE_PLAYING);
if (mAudioFocusHelper != null && !isMute()) {
mAudioFocusHelper.requestFocus();
addDisplay();
if (mRenderView != null) {
mRenderView.setScaleType(mCurrentScreenScaleType);
mRenderView.setVideoSize(mVideoSize[0], mVideoSize[1]);
}
mPlayerContainer.setKeepScreenOn(true);
// 记得移除回调,避免重复调用
mMediaPlayer.setDisplay(holder);
resumePlay();
// 移除回调,避免重复调用
holder.removeCallback(this);
}
@ -392,24 +382,29 @@ public class VideoView<P extends AbstractPlayer> extends FrameLayout
}
});
}
} else if (renderView instanceof TextureView) {
mMediaPlayer.start();
setPlayState(STATE_PLAYING);
if (mAudioFocusHelper != null && !isMute()) {
mAudioFocusHelper.requestFocus();
}
mPlayerContainer.setKeepScreenOn(true);
} else {
mMediaPlayer.start();
setPlayState(STATE_PLAYING);
if (mAudioFocusHelper != null && !isMute()) {
mAudioFocusHelper.requestFocus();
}
mPlayerContainer.setKeepScreenOn(true);
resumePlay();
}
if (mRenderView != null) {
// 强制请求布局(解决部分设备渲染问题)
mRenderView.getView().requestLayout();
mRenderView.getView().invalidate();
}
if (mRenderView != null && mRenderView.getView() != null) {
// 统一设置视图可见性
mRenderView.getView().setVisibility(View.VISIBLE);
}
}
}
private void resumePlay(){
mMediaPlayer.start();
setPlayState(STATE_PLAYING);
if (mAudioFocusHelper != null && !isMute()) {
mAudioFocusHelper.requestFocus();
}
mPlayerContainer.setKeepScreenOn(true);
}
/**
* 释放播放器
*/

Loading…
Cancel
Save