提交 1ce84e39 编写于 作者: S shuyu

fix #1395

上级 9497b908
package com.example.gsyvideoplayer.video;
import android.content.Context;
import android.graphics.Point;
import android.media.AudioManager;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions;
import com.example.gsyvideoplayer.R;
import com.example.gsyvideoplayer.video.manager.CustomManager;
import com.shuyu.gsyvideoplayer.utils.Debuger;
import com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer;
import com.shuyu.gsyvideoplayer.video.base.GSYBaseVideoPlayer;
import com.shuyu.gsyvideoplayer.video.base.GSYVideoViewBridge;
......@@ -15,10 +22,17 @@ import com.shuyu.gsyvideoplayer.video.base.GSYVideoViewBridge;
* Created by guoshuyu on 2018/1/31.
*/
public class MultiSampleVideo extends SampleCoverVideo {
public class MultiSampleVideo extends StandardGSYVideoPlayer {
private final static String TAG = "MultiSampleVideo";
ImageView mCoverImage;
String mCoverOriginUrl;
int mDefaultRes;
public MultiSampleVideo(Context context, Boolean fullFlag) {
super(context, fullFlag);
}
......@@ -34,6 +48,11 @@ public class MultiSampleVideo extends SampleCoverVideo {
@Override
protected void init(Context context) {
super.init(context);
mCoverImage = (ImageView) findViewById(R.id.thumbImage);
if (mThumbImageViewLayout != null &&
(mCurrentState == -1 || mCurrentState == CURRENT_STATE_NORMAL || mCurrentState == CURRENT_STATE_ERROR)) {
mThumbImageViewLayout.setVisibility(VISIBLE);
}
onAudioFocusChangeListener = new AudioManager.OnAudioFocusChangeListener() {
@Override
public void onAudioFocusChange(int focusChange) {
......@@ -90,6 +109,44 @@ public class MultiSampleVideo extends SampleCoverVideo {
return CustomManager.SMALL_ID;
}
@Override
public int getLayoutId() {
return R.layout.video_layout_cover;
}
public void loadCoverImage(String url, int res) {
mCoverOriginUrl = url;
mDefaultRes = res;
Glide.with(getContext().getApplicationContext())
.setDefaultRequestOptions(
new RequestOptions()
.frame(1000000)
.centerCrop()
.error(res)
.placeholder(res))
.load(url)
.into(mCoverImage);
}
@Override
public GSYBaseVideoPlayer startWindowFullscreen(Context context, boolean actionBar, boolean statusBar) {
GSYBaseVideoPlayer gsyBaseVideoPlayer = super.startWindowFullscreen(context, actionBar, statusBar);
MultiSampleVideo multiSampleVideo = (MultiSampleVideo) gsyBaseVideoPlayer;
multiSampleVideo.loadCoverImage(mCoverOriginUrl, mDefaultRes);
return multiSampleVideo;
}
@Override
public GSYBaseVideoPlayer showSmallVideo(Point size, boolean actionBar, boolean statusBar) {
//下面这里替换成你自己的强制转化
MultiSampleVideo multiSampleVideo = (MultiSampleVideo) super.showSmallVideo(size, actionBar, statusBar);
multiSampleVideo.mStartButton.setVisibility(GONE);
multiSampleVideo.mStartButton = null;
return multiSampleVideo;
}
public String getKey() {
if (mPlayPosition == -22) {
Debuger.printfError(getClass().getSimpleName() + " used getKey() " + "******* PlayPosition never set. ********");
......
......@@ -9,6 +9,8 @@ import android.view.Window;
import com.example.gsyvideoplayer.R;
import com.shuyu.gsyvideoplayer.GSYVideoBaseManager;
import com.shuyu.gsyvideoplayer.player.IPlayerManager;
import com.shuyu.gsyvideoplayer.player.IjkPlayerManager;
import com.shuyu.gsyvideoplayer.utils.CommonUtil;
import com.shuyu.gsyvideoplayer.video.base.GSYVideoPlayer;
......@@ -37,6 +39,10 @@ public class CustomManager extends GSYVideoBaseManager {
init();
}
@Override
protected IPlayerManager getPlayManager() {
return new IjkPlayerManager();
}
/**
* 退出全屏,主要用于返回键
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册