package com.example.gsyvideoplayer.holder; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import com.example.gsyvideoplayer.R; import com.example.gsyvideoplayer.model.VideoModel; import com.shuyu.gsyvideoplayer.GSYVideoManager; import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder; import com.shuyu.gsyvideoplayer.listener.GSYSampleCallBack; import com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer; import butterknife.BindView; import butterknife.ButterKnife; /** * Created by guoshuyu on 2017/1/9. */ public class RecyclerItemNormalHolder extends RecyclerItemBaseHolder { public final static String TAG = "RecyclerView2List"; protected Context context = null; @BindView(R.id.video_item_player) StandardGSYVideoPlayer gsyVideoPlayer; ImageView imageView; GSYVideoOptionBuilder gsyVideoOptionBuilder; public RecyclerItemNormalHolder(Context context, View v) { super(v); this.context = context; ButterKnife.bind(this, v); imageView = new ImageView(context); gsyVideoOptionBuilder = new GSYVideoOptionBuilder(); } public void onBind(final int position, VideoModel videoModel) { //增加封面 imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); if (position % 2 == 0) { imageView.setImageResource(R.mipmap.xxx1); } else { imageView.setImageResource(R.mipmap.xxx2); } if (imageView.getParent() != null) { ViewGroup viewGroup = (ViewGroup) imageView.getParent(); viewGroup.removeView(imageView); } String url; String title; if (position % 2 == 0) { url = "https://res.exexm.com/cw_145225549855002"; title = "这是title"; } else { url = "http://9890.vod.myqcloud.com/9890_4e292f9a3dd011e6b4078980237cc3d3.f20.mp4"; title = "哦?Title?"; } //防止错位,离开释放 //gsyVideoPlayer.initUIState(); gsyVideoOptionBuilder .setIsTouchWiget(false) .setThumbImageView(imageView) .setUrl(url) .setSetUpLazy(true)//lazy可以防止滑动卡顿 .setVideoTitle(title) .setCacheWithPlay(true) .setRotateViewAuto(false) .setLockLand(true) .setPlayTag(TAG) .setShowFullAnimation(false) .setNeedLockFull(true) .setPlayPosition(position) .setVideoAllCallBack(new GSYSampleCallBack() { @Override public void onPrepared(String url, Object... objects) { super.onPrepared(url, objects); if (!gsyVideoPlayer.isIfCurrentIsFullscreen()) { //静音 GSYVideoManager.instance().setNeedMute(true); } } @Override public void onQuitFullscreen(String url, Object... objects) { super.onQuitFullscreen(url, objects); //全屏不静音 GSYVideoManager.instance().setNeedMute(true); } @Override public void onEnterFullscreen(String url, Object... objects) { super.onEnterFullscreen(url, objects); GSYVideoManager.instance().setNeedMute(false); gsyVideoPlayer.getCurrentPlayer().getTitleTextView().setText((String)objects[0]); } }).build(gsyVideoPlayer); //增加title gsyVideoPlayer.getTitleTextView().setVisibility(View.GONE); //设置返回键 gsyVideoPlayer.getBackButton().setVisibility(View.GONE); //设置全屏按键功能 gsyVideoPlayer.getFullscreenButton().setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { resolveFullBtn(gsyVideoPlayer); } }); } /** * 全屏幕按键处理 */ private void resolveFullBtn(final StandardGSYVideoPlayer standardGSYVideoPlayer) { standardGSYVideoPlayer.startWindowFullscreen(context, true, true); } }