diff --git a/modules/mogo-module-tanlu/build.gradle b/modules/mogo-module-tanlu/build.gradle index 478e05d53f..daff133d4a 100644 --- a/modules/mogo-module-tanlu/build.gradle +++ b/modules/mogo-module-tanlu/build.gradle @@ -70,9 +70,6 @@ dependencies { } compileOnly rootProject.ext.dependencies.carcallprovider - implementation rootProject.ext.dependencies.videoarmv7 - implementation rootProject.ext.dependencies.videoarm64 - implementation rootProject.ext.dependencies.videojava implementation rootProject.ext.dependencies.eventbus diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluListWindow.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluListWindow.java index 9c3eeca3df..fcfc61168e 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluListWindow.java +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluListWindow.java @@ -105,7 +105,7 @@ import com.mogo.utils.TipDrawable; import com.mogo.utils.TipToast; import com.mogo.utils.WorkThreadHandler; import com.mogo.utils.logger.Logger; -import com.shuyu.gsyvideoplayer.GSYVideoManager; +//import com.shuyu.gsyvideoplayer.GSYVideoManager; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; @@ -127,7 +127,7 @@ import static com.mogo.module.tanlu.constant.ConstKt.VOICE_COMMAND_QUERY_TRAFFIC import static com.mogo.module.tanlu.constant.TanluConstants.PLAY_VIDEO_AWAKEN; import static com.mogo.module.tanlu.constant.TanluConstants.SPECIFIEDROAD_SEARCH; import static com.mogo.module.tanlu.constant.TanluConstants.TXZ_SPECIFIEDROAD_SEARCH; -import static com.mogo.module.tanlu.video.VideoInitKt.initVideo; +//import static com.mogo.module.tanlu.video.VideoInitKt.initVideo; /** * @author lixiaopeng @@ -204,7 +204,7 @@ public class TanluListWindow extends RelativeLayout implements IMogoMarkerClickL protected void initViews() { LayoutInflater.from(mContext).inflate(R.layout.tanlu_main_media_recycler_new, this); - initVideo(); +// initVideo(); mLoopRecyclerView = findViewById(R.id.tanlu_rloop_recycleview); mLoopRecyclerView.setHasFixedSize(true); mLoopRecyclerView.setOverScrollMode(OVER_SCROLL_NEVER); @@ -845,7 +845,7 @@ public class TanluListWindow extends RelativeLayout implements IMogoMarkerClickL public void releaseAction() { // EventBus.getDefault().unregister(this); mMogoRegisterCenter.unregisterMogoNaviListener(TanluConstants.MODEL_NAME); - GSYVideoManager.releaseAllVideos(); +// GSYVideoManager.releaseAllVideos(); if (mTanluSlideAdapter != null) { mTanluSlideAdapter.release(); } diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/recycler/TanluSlideAdapterNew.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/recycler/TanluSlideAdapterNew.java index 99cf2d9ca7..d4e9630b6e 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/recycler/TanluSlideAdapterNew.java +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/recycler/TanluSlideAdapterNew.java @@ -33,7 +33,7 @@ import com.mogo.module.tanlu.model.event.ControlClickUpInfo; import com.mogo.module.tanlu.model.event.StartPlayInfo; import com.mogo.module.tanlu.model.event.VoiceControlUpInfo; import com.mogo.module.tanlu.util.ChartUtil; -import com.mogo.module.tanlu.video.SimpleCoverVideoPlayer; +//import com.mogo.module.tanlu.video.SimpleCoverVideoPlayer; import com.mogo.module.tanlu.view.RoundLayout; import com.mogo.service.adas.IMogoADASControlStatusChangedListener; import com.mogo.service.analytics.IMogoAnalytics; @@ -43,7 +43,7 @@ import com.mogo.service.module.IMogoRegisterCenter; import com.mogo.skin.support.SkinMode; import com.mogo.utils.TipToast; import com.mogo.utils.logger.Logger; -import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder; +//import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder; import com.zhidao.carchattingprovider.CallChattingProviderConstant; import com.zhidao.carchattingprovider.MogoDriverInfo; @@ -75,7 +75,7 @@ public class TanluSlideAdapterNew extends RecyclerView.Adapter list = new HashMap<>(); +// private HashMap list = new HashMap<>(); public TanluSlideAdapterNew(Context context, IMogoAnalytics analytics, TanluModelData tanluModelData, IMogoImageloader mogoImageloader, @@ -129,7 +129,7 @@ public class TanluSlideAdapterNew extends RecyclerView.Adapter"); - } - - @Override - public void onThumbsUpFail() { - TipToast.shortTip("点赞失败"); - Logger.e(TAG, "onThumbsUpFail -------->"); - } - }); - } - - @Override - public void onAnimationCancel(Animator animation) { - - } - - @Override - public void onAnimationRepeat(Animator animation) { - - } - }); - animatorSet.start(); - - } - }); +// AnimatorSet animatorSet = (AnimatorSet) AnimatorInflater.loadAnimator(mContext, R.anim.v2x_like_heart_animation); +// animatorSet.setTarget(mLikeImage); +// animatorSet.addListener(new Animator.AnimatorListener() { +// @Override +// public void onAnimationStart(Animator animation) { +// +// } +// +// @Override +// public void onAnimationEnd(Animator animation) { +// traceTypeData(markerExploreWay.getInfoId() == null ? "" : markerExploreWay.getInfoId(), "1", markerExploreWay.getSn() == null ? "" : markerExploreWay.getSn()); +// if (TextUtils.isEmpty(markerExploreWay.getInfoId())) { +// TipToast.shortTip("点赞失败"); +// return; +// } +// +// mTanluModelData.thumbsUp(markerExploreWay, new IThumbsUpCallback() { +// @Override +// public void onThumbsUpSuccess() { +// TipToast.shortTip("点赞成功"); +// Logger.d(TAG, "onThumbsUpSuccess -------->"); +// } +// +// @Override +// public void onThumbsUpFail() { +// TipToast.shortTip("点赞失败"); +// Logger.e(TAG, "onThumbsUpFail -------->"); +// } +// }); +// } +// +// @Override +// public void onAnimationCancel(Animator animation) { +// +// } +// +// @Override +// public void onAnimationRepeat(Animator animation) { +// +// } +// }); +// animatorSet.start(); +// +// } +// }); } @@ -337,55 +337,55 @@ public class TanluSlideAdapterNew extends RecyclerView.Adapter>>>videoUrl = " + videoUrl); - mDistanceTv.setText("距离" + handleDistance(markerExploreWay.getDistance())); - mTimeTv.setText(formatDate(markerExploreWay.getGenerateTime())); - //判断是图片还是视频,第一个时,上一个不可点击 - autoZoomInImageView.setVisibility(View.GONE); - - //视频配置 - mVideoUrl = videoUrl; - if (!TextUtils.isEmpty(videoUrl) && !TextUtils.isEmpty(mImageUrl)) { - autoZoomInImageView.setVisibility(View.GONE); - simpleCoverVideoPlayer.setVisibility(View.VISIBLE); - //加载封面图 - simpleCoverVideoPlayer.loadCoverImage(mImageUrl, mContext); - gsyVideoOptionBuilder.setUrl(videoUrl).setCacheWithPlay(false).setPlayTag(TAG) - .build(simpleCoverVideoPlayer); - simpleCoverVideoPlayer.getStartButton().performClick(); - } else { - simpleCoverVideoPlayer.setVisibility(GONE); - autoZoomInImageView.setVisibility(View.VISIBLE); - //加载图片 -// RequestOptions requestOptions = new RequestOptions() -// .placeholder(R.drawable.tanlu_normal_image) -// .error(R.drawable.tanlu_normal_image); +// if (markerExploreWay.getItems() == null) { +// showDefaultImage(); +// return; +// } // -// Glide.with(mContext) -// .asBitmap() -// .load(mImageUrl) -// .apply(requestOptions) -// .into(new SkinAbleBitmapTarget(autoZoomInImageView, requestOptions)); +// if (markerExploreWay.getItems().size() == 0) { +// showDefaultImage(); +// return; +// } +// +// String videoUrl = markerExploreWay.getItems().get(0).getUrl(); +// mImageUrl = markerExploreWay.getItems().get(0).getThumbnail(); +// Logger.d(TAG, "refreshVideoData mImageUrl = " + mImageUrl); +// mAddressTv.setText(markerExploreWay.getAddr()); +// Logger.e(TAG, "refreshVideoData markerExploreWay.getAddr() = " + markerExploreWay.getAddr() + " >>>>videoUrl = " + videoUrl); +// mDistanceTv.setText("距离" + handleDistance(markerExploreWay.getDistance())); +// mTimeTv.setText(formatDate(markerExploreWay.getGenerateTime())); +// //判断是图片还是视频,第一个时,上一个不可点击 +// autoZoomInImageView.setVisibility(View.GONE); +// +// //视频配置 +// mVideoUrl = videoUrl; +// if (!TextUtils.isEmpty(videoUrl) && !TextUtils.isEmpty(mImageUrl)) { +// autoZoomInImageView.setVisibility(View.GONE); +// simpleCoverVideoPlayer.setVisibility(View.VISIBLE); +// //加载封面图 +// simpleCoverVideoPlayer.loadCoverImage(mImageUrl, mContext); +// gsyVideoOptionBuilder.setUrl(videoUrl).setCacheWithPlay(false).setPlayTag(TAG) +// .build(simpleCoverVideoPlayer); +// simpleCoverVideoPlayer.getStartButton().performClick(); +// } else { +// simpleCoverVideoPlayer.setVisibility(GONE); +// autoZoomInImageView.setVisibility(View.VISIBLE); +// //加载图片 +//// RequestOptions requestOptions = new RequestOptions() +//// .placeholder(R.drawable.tanlu_normal_image) +//// .error(R.drawable.tanlu_normal_image); +//// +//// Glide.with(mContext) +//// .asBitmap() +//// .load(mImageUrl) +//// .apply(requestOptions) +//// .into(new SkinAbleBitmapTarget(autoZoomInImageView, requestOptions)); +// +// mogoImageloader.displayImage(mImageUrl, autoZoomInImageView); - mogoImageloader.displayImage(mImageUrl, autoZoomInImageView); - - } - - traceVideoPlayStatusData(); +// } +// +// traceVideoPlayStatusData(); } /** @@ -408,7 +408,7 @@ public class TanluSlideAdapterNew extends RecyclerView.Adapter> info.mPosition = " + info.mPosition + " >> finalPosition = " + finalPosition); -// if (list.size() > finalPosition) { - SimpleCoverVideoPlayer coverVideoPlayer = list.get(finalPosition); - coverVideoPlayer.release(); - coverVideoPlayer.getStartButton().performClick(); - traceVideoPlayStatusData(); +// int finalPosition = info.mPosition; +// Logger.d(TAG, "onHandlePlay size = " + list.size() + " >> info.mPosition = " + info.mPosition + " >> finalPosition = " + finalPosition); +//// if (list.size() > finalPosition) { +// SimpleCoverVideoPlayer coverVideoPlayer = list.get(finalPosition); +// coverVideoPlayer.release(); +// coverVideoPlayer.getStartButton().performClick(); +// traceVideoPlayStatusData(); // } } public void release() { - if (list != null) { - list.clear(); - } +// if (list != null) { +// list.clear(); +// } } private String getTypeName(String type) { diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/FullMediaActivity.kt b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/FullMediaActivity.kt index 8a65f095f6..8ae52fca65 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/FullMediaActivity.kt +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/FullMediaActivity.kt @@ -1,146 +1,146 @@ -package com.mogo.module.tanlu.video - -import android.app.Activity -import android.content.Intent -import android.os.Bundle -import android.util.Log -import android.view.View -import androidx.appcompat.app.AppCompatActivity -import com.mogo.module.tanlu.R -import com.mogo.module.tanlu.util.HideControl -import com.mogo.module.tanlu.util.formatDate -import com.mogo.utils.logger.Logger -import com.shuyu.gsyvideoplayer.GSYVideoManager -import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder -import kotlinx.android.synthetic.main.tanlu_activity_media_full.* -import java.util.* - -/** - * 全屏显示适配 - */ - -class FullMediaActivity : AppCompatActivity(), View.OnClickListener { - companion object { - const val TAG = "FullMediaActivity" - - const val PARAM_VIDEO_URL = "param_video_url" - const val PARAM_THUMB_URL = "param_thumb_url" - const val PARAM_ADDRESS = "param_address" - const val PARAM_TIME = "generate_time" - - -// fun launch(context: Activity, strategyInfo: List, position: Int) { +//package com.mogo.module.tanlu.video +// +//import android.app.Activity +//import android.content.Intent +//import android.os.Bundle +//import android.util.Log +//import android.view.View +//import androidx.appcompat.app.AppCompatActivity +//import com.mogo.module.tanlu.R +//import com.mogo.module.tanlu.util.HideControl +//import com.mogo.module.tanlu.util.formatDate +//import com.mogo.utils.logger.Logger +//import com.shuyu.gsyvideoplayer.GSYVideoManager +//import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder +//import kotlinx.android.synthetic.main.tanlu_activity_media_full.* +//import java.util.* +// +///** +// * 全屏显示适配 +// */ +// +//class FullMediaActivity : AppCompatActivity(), View.OnClickListener { +// companion object { +// const val TAG = "FullMediaActivity" +// +// const val PARAM_VIDEO_URL = "param_video_url" +// const val PARAM_THUMB_URL = "param_thumb_url" +// const val PARAM_ADDRESS = "param_address" +// const val PARAM_TIME = "generate_time" +// +// +//// fun launch(context: Activity, strategyInfo: List, position: Int) { +//// val intent = Intent(context, FullMediaActivity::class.java) +//// intent.putExtra(PARAM_MEDIA_POSITION, position) +//// // 使用全局静态对象代替,避免序列化开销 +//// GlobalSharedInformation.informationList = strategyInfo as ArrayList +//// context.startActivityForResult(intent, REQUESTCODE_MAINACTIVITY) +//// context.overridePendingTransition(0, 0) +//// } +// +// fun launch(context: Activity, videoUrl: String, thumbnail: String, address: String, generateTime: Long) { // val intent = Intent(context, FullMediaActivity::class.java) -// intent.putExtra(PARAM_MEDIA_POSITION, position) -// // 使用全局静态对象代替,避免序列化开销 -// GlobalSharedInformation.informationList = strategyInfo as ArrayList -// context.startActivityForResult(intent, REQUESTCODE_MAINACTIVITY) +// intent.putExtra(PARAM_VIDEO_URL, videoUrl) +// intent.putExtra(PARAM_THUMB_URL, thumbnail) +// intent.putExtra(PARAM_ADDRESS, address) +// intent.putExtra(PARAM_TIME, generateTime) +// context.startActivity(intent) // context.overridePendingTransition(0, 0) // } - - fun launch(context: Activity, videoUrl: String, thumbnail: String, address: String, generateTime: Long) { - val intent = Intent(context, FullMediaActivity::class.java) - intent.putExtra(PARAM_VIDEO_URL, videoUrl) - intent.putExtra(PARAM_THUMB_URL, thumbnail) - intent.putExtra(PARAM_ADDRESS, address) - intent.putExtra(PARAM_TIME, generateTime) - context.startActivity(intent) - context.overridePendingTransition(0, 0) - } - } - - private var control = HideControl() - private var gsyVideoOptionBuilder = GSYVideoOptionBuilder() - private var videoUrl: String? = null - private var thumbUrl: String? = null - private var address: String? = null - private var generateTime: Long = 0 - - - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - setContentView(R.layout.tanlu_activity_media_full) - handleIntent() - setListener() - } - - private fun handleIntent() { - var intent = intent - - videoUrl = intent.getStringExtra(PARAM_VIDEO_URL) - thumbUrl = intent.getStringExtra(PARAM_THUMB_URL) - address = intent.getStringExtra(PARAM_ADDRESS) - generateTime = intent.getLongExtra(PARAM_TIME, 0) - } - - override fun onResume() { - super.onResume() - updateInformation() - GSYVideoManager.onResume() - } - - override fun onPause() { - super.onPause() - GSYVideoManager.onPause() - } - - //需要监听完成事件 - private fun setListener() { - iv_media_back.setOnClickListener(this) - //重置timer - video_view.addSingleClickListener(object : - MediaCoverVideoPlayer.SingleClickListener { - override fun onClick() { - control.resetHideTimer() - } - }) - - //视频播放完成 - video_view.onCompletionListener(object : - MediaCoverVideoPlayer.CompletionListener { - override fun onCompletion() { - finish() - } - }) - - video_view - video_view.loadCoverImage(thumbUrl!!) - //设置url,点击播放 - gsyVideoOptionBuilder.setUrl(videoUrl).setCacheWithPlay(true) - .setPlayTag(TAG).build(video_view) - video_view.startButton.performClick() - } - - - private fun updateInformation() { - tv_media_title_content.text = address - tv_media_title_time.text = formatDate(generateTime) - } - - - override fun onClick(view: View) { - view?.let { - when (view) { - iv_media_back -> { - handleBack() - } - } - } - } - - override fun onDestroy() { - super.onDestroy() - GSYVideoManager.releaseAllVideos() - overridePendingTransition(0, 0) - } - - private fun handleBack() { - finish() - } - - override fun onBackPressed() { - super.onBackPressed() - handleBack() - } -} +// } +// +// private var control = HideControl() +// private var gsyVideoOptionBuilder = GSYVideoOptionBuilder() +// private var videoUrl: String? = null +// private var thumbUrl: String? = null +// private var address: String? = null +// private var generateTime: Long = 0 +// +// +// +// override fun onCreate(savedInstanceState: Bundle?) { +// super.onCreate(savedInstanceState) +// setContentView(R.layout.tanlu_activity_media_full) +// handleIntent() +// setListener() +// } +// +// private fun handleIntent() { +// var intent = intent +// +// videoUrl = intent.getStringExtra(PARAM_VIDEO_URL) +// thumbUrl = intent.getStringExtra(PARAM_THUMB_URL) +// address = intent.getStringExtra(PARAM_ADDRESS) +// generateTime = intent.getLongExtra(PARAM_TIME, 0) +// } +// +// override fun onResume() { +// super.onResume() +// updateInformation() +// GSYVideoManager.onResume() +// } +// +// override fun onPause() { +// super.onPause() +// GSYVideoManager.onPause() +// } +// +// //需要监听完成事件 +// private fun setListener() { +// iv_media_back.setOnClickListener(this) +// //重置timer +// video_view.addSingleClickListener(object : +// MediaCoverVideoPlayer.SingleClickListener { +// override fun onClick() { +// control.resetHideTimer() +// } +// }) +// +// //视频播放完成 +// video_view.onCompletionListener(object : +// MediaCoverVideoPlayer.CompletionListener { +// override fun onCompletion() { +// finish() +// } +// }) +// +// video_view +// video_view.loadCoverImage(thumbUrl!!) +// //设置url,点击播放 +// gsyVideoOptionBuilder.setUrl(videoUrl).setCacheWithPlay(true) +// .setPlayTag(TAG).build(video_view) +// video_view.startButton.performClick() +// } +// +// +// private fun updateInformation() { +// tv_media_title_content.text = address +// tv_media_title_time.text = formatDate(generateTime) +// } +// +// +// override fun onClick(view: View) { +// view?.let { +// when (view) { +// iv_media_back -> { +// handleBack() +// } +// } +// } +// } +// +// override fun onDestroy() { +// super.onDestroy() +// GSYVideoManager.releaseAllVideos() +// overridePendingTransition(0, 0) +// } +// +// private fun handleBack() { +// finish() +// } +// +// override fun onBackPressed() { +// super.onBackPressed() +// handleBack() +// } +//} diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/MediaCoverVideoPlayer.kt b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/MediaCoverVideoPlayer.kt index b3f941c3a8..4d6228e2e8 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/MediaCoverVideoPlayer.kt +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/MediaCoverVideoPlayer.kt @@ -1,162 +1,164 @@ package com.mogo.module.tanlu.video -import android.content.Context -import android.util.AttributeSet -import android.util.Log -import android.view.View -import android.widget.ImageView -import android.widget.SeekBar -import com.bumptech.glide.Glide -import com.mogo.module.tanlu.R -import com.shuyu.gsyvideoplayer.GSYVideoManager -import com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer -import com.shuyu.gsyvideoplayer.video.base.GSYVideoView -import com.shuyu.gsyvideoplayer.video.base.GSYVideoViewBridge - - -/** - * 全屏播放 - */ -class MediaCoverVideoPlayer : StandardGSYVideoPlayer { - - private lateinit var coverImage: ImageView - private lateinit var start: ImageView - private lateinit var fullscreen: ImageView - private lateinit var singleClickListener: SingleClickListener - private lateinit var completionListener: CompletionListener - - constructor(context: Context?) : super(context) - constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs) - constructor(context: Context?, fullFlag: Boolean?) : super(context, fullFlag) - - interface SingleClickListener { - fun onClick() - } - - interface CompletionListener { - fun onCompletion() - } - - override fun init(context: Context) { - super.init(context) - coverImage = findViewById(R.id.thumbImage) - start = findViewById(R.id.start) - fullscreen = findViewById(R.id.fullscreen) - if (mThumbImageViewLayout != null - && (mCurrentState == -1 || mCurrentState == GSYVideoView.CURRENT_STATE_NORMAL || mCurrentState == GSYVideoView.CURRENT_STATE_ERROR) - ) { - mThumbImageViewLayout.visibility = View.VISIBLE - } - } - - fun addSingleClickListener(singleClickListener: SingleClickListener) { - this.singleClickListener = singleClickListener - } - - fun onCompletionListener(completionListener: CompletionListener) { - this.completionListener = completionListener - } - - override fun getLayoutId(): Int { - return R.layout.tanlu_item_video_cover_media - } - - override fun getGSYVideoManager(): GSYVideoViewBridge { - GSYVideoManager.instance().initContext(context.applicationContext) - return GSYVideoManager.instance() - } - - override fun setProgressAndTime(progress: Int, secProgress: Int, currentTime: Int, totalTime: Int, forceChange: Boolean) { - super.setProgressAndTime(progress, secProgress, currentTime, totalTime, forceChange) - if (progress != 0) { - mProgressBar.progress = progress - } - } - - fun loadCoverImage(url: String) { - Glide.with(context) - .load(url) - .into(coverImage) - } - - override fun updateStartImage() { - when (mCurrentState) { - GSYVideoView.CURRENT_STATE_PLAYING -> start.setImageResource(R.drawable.selector_bg_btn_pause) - GSYVideoView.CURRENT_STATE_ERROR -> start.setImageResource(R.drawable.main_video_refresh_btn) - else -> start.setImageResource(R.drawable.selector_bg_btn_play) - } - } - - fun setFullClickListener(listener: OnClickListener) { - fullscreen.setOnClickListener(listener) - } - - override fun onClickUiToggle() { - super.onClickUiToggle() - singleClickListener.let { - it.onClick() - } - } - - override fun changeUiToCompleteShow() { - super.changeUiToCompleteShow() -// setViewShowState(mBottomContainer, View.INVISIBLE) - } - - override fun onAutoCompletion() { - super.onAutoCompletion() - mProgressBar.progress = 0 - - completionListener.let { - it.onCompletion() - } - - Log.d("liyz", "MediaCoverVideoPlayer onAutoCompletion ------->") - } - - override fun showWifiDialog() { - //直接播放,不显示WIFI对话框 - startPlayLogic() - } - - override fun onClick(v: View?) { - super.onClick(v) - v?.let { - when (v) { - start -> { - - } - else -> { - - } - } - } - } - - override fun onPrepared() { - super.onPrepared() - } - - /** - * 多次回调 - */ - override fun onCompletion() { - super.onCompletion() - } - - - override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean) { - super.onProgressChanged(seekBar, progress, fromUser) - } - - override fun onDetachedFromWindow() { - super.onDetachedFromWindow() - mFullPauseBitmap?.let { - if (!it.isRecycled) { - it.recycle() - } - } - mFullPauseBitmap = null - } - -} \ No newline at end of file +//package com.mogo.module.tanlu.video +// +//import android.content.Context +//import android.util.AttributeSet +//import android.util.Log +//import android.view.View +//import android.widget.ImageView +//import android.widget.SeekBar +//import com.bumptech.glide.Glide +//import com.mogo.module.tanlu.R +//import com.shuyu.gsyvideoplayer.GSYVideoManager +//import com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer +//import com.shuyu.gsyvideoplayer.video.base.GSYVideoView +//import com.shuyu.gsyvideoplayer.video.base.GSYVideoViewBridge +// +// +///** +// * 全屏播放 +// */ +//class MediaCoverVideoPlayer : StandardGSYVideoPlayer { +// +// private lateinit var coverImage: ImageView +// private lateinit var start: ImageView +// private lateinit var fullscreen: ImageView +// private lateinit var singleClickListener: SingleClickListener +// private lateinit var completionListener: CompletionListener +// +// constructor(context: Context?) : super(context) +// constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs) +// constructor(context: Context?, fullFlag: Boolean?) : super(context, fullFlag) +// +// interface SingleClickListener { +// fun onClick() +// } +// +// interface CompletionListener { +// fun onCompletion() +// } +// +// override fun init(context: Context) { +// super.init(context) +// coverImage = findViewById(R.id.thumbImage) +// start = findViewById(R.id.start) +// fullscreen = findViewById(R.id.fullscreen) +// if (mThumbImageViewLayout != null +// && (mCurrentState == -1 || mCurrentState == GSYVideoView.CURRENT_STATE_NORMAL || mCurrentState == GSYVideoView.CURRENT_STATE_ERROR) +// ) { +// mThumbImageViewLayout.visibility = View.VISIBLE +// } +// } +// +// fun addSingleClickListener(singleClickListener: SingleClickListener) { +// this.singleClickListener = singleClickListener +// } +// +// fun onCompletionListener(completionListener: CompletionListener) { +// this.completionListener = completionListener +// } +// +// override fun getLayoutId(): Int { +// return R.layout.tanlu_item_video_cover_media +// } +// +// override fun getGSYVideoManager(): GSYVideoViewBridge { +// GSYVideoManager.instance().initContext(context.applicationContext) +// return GSYVideoManager.instance() +// } +// +// override fun setProgressAndTime(progress: Int, secProgress: Int, currentTime: Int, totalTime: Int, forceChange: Boolean) { +// super.setProgressAndTime(progress, secProgress, currentTime, totalTime, forceChange) +// if (progress != 0) { +// mProgressBar.progress = progress +// } +// } +// +// fun loadCoverImage(url: String) { +// Glide.with(context) +// .load(url) +// .into(coverImage) +// } +// +// override fun updateStartImage() { +// when (mCurrentState) { +// GSYVideoView.CURRENT_STATE_PLAYING -> start.setImageResource(R.drawable.selector_bg_btn_pause) +// GSYVideoView.CURRENT_STATE_ERROR -> start.setImageResource(R.drawable.main_video_refresh_btn) +// else -> start.setImageResource(R.drawable.selector_bg_btn_play) +// } +// } +// +// fun setFullClickListener(listener: OnClickListener) { +// fullscreen.setOnClickListener(listener) +// } +// +// override fun onClickUiToggle() { +// super.onClickUiToggle() +// singleClickListener.let { +// it.onClick() +// } +// } +// +// override fun changeUiToCompleteShow() { +// super.changeUiToCompleteShow() +//// setViewShowState(mBottomContainer, View.INVISIBLE) +// } +// +// override fun onAutoCompletion() { +// super.onAutoCompletion() +// mProgressBar.progress = 0 +// +// completionListener.let { +// it.onCompletion() +// } +// +// Log.d("liyz", "MediaCoverVideoPlayer onAutoCompletion ------->") +// } +// +// override fun showWifiDialog() { +// //直接播放,不显示WIFI对话框 +// startPlayLogic() +// } +// +// override fun onClick(v: View?) { +// super.onClick(v) +// v?.let { +// when (v) { +// start -> { +// +// } +// else -> { +// +// } +// } +// } +// } +// +// override fun onPrepared() { +// super.onPrepared() +// } +// +// /** +// * 多次回调 +// */ +// override fun onCompletion() { +// super.onCompletion() +// } +// +// +// override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean) { +// super.onProgressChanged(seekBar, progress, fromUser) +// } +// +// override fun onDetachedFromWindow() { +// super.onDetachedFromWindow() +// mFullPauseBitmap?.let { +// if (!it.isRecycled) { +// it.recycle() +// } +// } +// mFullPauseBitmap = null +// } +// +//} \ No newline at end of file diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/SimpleCoverVideoPlayer.kt b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/SimpleCoverVideoPlayer.kt index 82e251d7f1..d7819f79bb 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/SimpleCoverVideoPlayer.kt +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/SimpleCoverVideoPlayer.kt @@ -1,194 +1,194 @@ -package com.mogo.module.tanlu.video - -import android.content.Context -import android.util.AttributeSet -import android.util.Log -import android.view.Surface -import android.view.View -import android.widget.ImageView -import com.bumptech.glide.Glide -import com.bumptech.glide.request.RequestOptions -import com.mogo.module.common.glide.SkinAbleBitmapTarget -import com.mogo.module.tanlu.R -import com.mogo.utils.logger.Logger -import com.shuyu.gsyvideoplayer.GSYVideoManager -import com.shuyu.gsyvideoplayer.utils.GSYVideoType -import com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer -import com.shuyu.gsyvideoplayer.video.base.GSYVideoView -import com.shuyu.gsyvideoplayer.video.base.GSYVideoViewBridge - - -class SimpleCoverVideoPlayer : StandardGSYVideoPlayer { - private lateinit var coverImage: ImageView - private lateinit var start: ImageView - private lateinit var fullscreen: ImageView - - companion object { - @JvmField - val TAG: String = "SimpleCoverVideoPlayer.kt" - } - - constructor(context: Context?) : super(context) - constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs) - constructor(context: Context?, fullFlag: Boolean?) : super(context, fullFlag) - - override fun init(context: Context) { - super.init(context) - coverImage = findViewById(R.id.thumbImage) - start = findViewById(R.id.start) - fullscreen = findViewById(R.id.fullscreen) - if (mThumbImageViewLayout != null - && (mCurrentState == -1 || mCurrentState == GSYVideoView.CURRENT_STATE_NORMAL || mCurrentState == GSYVideoView.CURRENT_STATE_ERROR) - ) { - mThumbImageViewLayout.visibility = View.VISIBLE - } - } - - override fun getLayoutId(): Int { - return R.layout.tanlu_item_video_cover - } - - override fun getGSYVideoManager(): GSYVideoViewBridge { - GSYVideoManager.instance().initContext(context.applicationContext) - return GSYVideoManager.instance() - } - - override fun setProgressAndTime(progress: Int, secProgress: Int, currentTime: Int, totalTime: Int, forceChange: Boolean) { - super.setProgressAndTime(progress, secProgress, currentTime, totalTime, forceChange) - if (progress != 0) { -// Log.d("liyz", "SimpleCoverVideoPlayer setProgressAndTime -----2---- $progress"); - mProgressBar.progress = progress - } - } - - fun loadCoverImage(url: String, mContext: Context) { - //加载图片 - val requestOptions = RequestOptions() -// .placeholder(R.drawable.tanlu_normal_image) - .error(R.drawable.tanlu_normal_image) - Glide.with(mContext).asBitmap() - .load(url) - .apply(requestOptions) - .into(SkinAbleBitmapTarget(coverImage, requestOptions)) - - } - - override fun updateStartImage() { - when (mCurrentState) { -// GSYVideoView.CURRENT_STATE_PLAYING -> start.setImageResource(R.drawable.selector_bg_btn_pause) -// GSYVideoView.CURRENT_STATE_ERROR -> start.setImageResource(R.drawable.main_video_refresh_btn) -// else -> start.setImageResource(R.drawable.selector_bg_btn_play) - } - } - - fun setFullClickListener(listener: OnClickListener) { - fullscreen.setOnClickListener(listener) - } - - override fun changeUiToCompleteShow() { - super.changeUiToCompleteShow() -// setViewShowState(mBottomContainer, View.INVISIBLE) - mBottomContainer.visibility = View.INVISIBLE - mProgressBar.visibility = View.GONE - } - - override fun hideAllWidget() { - super.hideAllWidget() - mBottomContainer.visibility = View.INVISIBLE - mProgressBar.visibility = View.GONE - } - - override fun changeUiToPrepareingClear() { - super.changeUiToPrepareingClear() - mBottomContainer.visibility = View.INVISIBLE - mProgressBar.visibility = View.GONE - } - - override fun changeUiToPlayingBufferingClear() { - super.changeUiToPlayingBufferingClear() - mBottomContainer.visibility = View.INVISIBLE - mProgressBar.visibility = View.GONE - - } - - override fun changeUiToClear() { - super.changeUiToClear() - mBottomContainer.visibility = View.INVISIBLE - mProgressBar.visibility = View.GONE - } - - override fun changeUiToCompleteClear() { - super.changeUiToCompleteClear() - mBottomContainer.visibility = View.INVISIBLE - mProgressBar.visibility = View.GONE - } - - override fun onAutoCompletion() { - super.onAutoCompletion() - mProgressBar.progress = 0 - } - - override fun showWifiDialog() { - //直接播放,不显示WIFI对话框 - startPlayLogic() - } - - override fun onDetachedFromWindow() { - super.onDetachedFromWindow() - mProgressBar.progress = 0 - mFullPauseBitmap = null - if (mAudioManager != null) { - try { - mAudioManager.abandonAudioFocus(onAudioFocusChangeListener) - } catch (e: Exception) { - Logger.e(TAG, e, "onDetachedFromWindow - abandonAudioFocus") - } - } - } - - override fun onClick(v: View?) { - super.onClick(v) - v?.let { - when (v) { - start -> { - - } - else -> { - - } - } - } - } - - override fun onPrepared() { - super.onPrepared() - } - - override fun onCompletion() { - - } - - override fun onSurfaceUpdated(surface: Surface) { - super.onSurfaceUpdated(surface) - if (mThumbImageViewLayout != null && mThumbImageViewLayout.visibility == View.VISIBLE) { - mThumbImageViewLayout.visibility = View.INVISIBLE - } - } - - override fun setViewShowState(view: View?, visibility: Int) { - if (view === mThumbImageViewLayout && visibility != View.VISIBLE) { - return - } - super.setViewShowState(view, visibility) - } - - override fun onSurfaceAvailable(surface: Surface) { - super.onSurfaceAvailable(surface) - mProgressBar.visibility = View.GONE - if (GSYVideoType.getRenderType() != GSYVideoType.TEXTURE) { - if (mThumbImageViewLayout != null && mThumbImageViewLayout.visibility == View.VISIBLE) { - mThumbImageViewLayout.visibility = View.INVISIBLE - } - } - } -} \ No newline at end of file +//package com.mogo.module.tanlu.video +// +//import android.content.Context +//import android.util.AttributeSet +//import android.util.Log +//import android.view.Surface +//import android.view.View +//import android.widget.ImageView +//import com.bumptech.glide.Glide +//import com.bumptech.glide.request.RequestOptions +//import com.mogo.module.common.glide.SkinAbleBitmapTarget +//import com.mogo.module.tanlu.R +//import com.mogo.utils.logger.Logger +//import com.shuyu.gsyvideoplayer.GSYVideoManager +//import com.shuyu.gsyvideoplayer.utils.GSYVideoType +//import com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer +//import com.shuyu.gsyvideoplayer.video.base.GSYVideoView +//import com.shuyu.gsyvideoplayer.video.base.GSYVideoViewBridge +// +// +//class SimpleCoverVideoPlayer : StandardGSYVideoPlayer { +// private lateinit var coverImage: ImageView +// private lateinit var start: ImageView +// private lateinit var fullscreen: ImageView +// +// companion object { +// @JvmField +// val TAG: String = "SimpleCoverVideoPlayer.kt" +// } +// +// constructor(context: Context?) : super(context) +// constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs) +// constructor(context: Context?, fullFlag: Boolean?) : super(context, fullFlag) +// +// override fun init(context: Context) { +// super.init(context) +// coverImage = findViewById(R.id.thumbImage) +// start = findViewById(R.id.start) +// fullscreen = findViewById(R.id.fullscreen) +// if (mThumbImageViewLayout != null +// && (mCurrentState == -1 || mCurrentState == GSYVideoView.CURRENT_STATE_NORMAL || mCurrentState == GSYVideoView.CURRENT_STATE_ERROR) +// ) { +// mThumbImageViewLayout.visibility = View.VISIBLE +// } +// } +// +// override fun getLayoutId(): Int { +// return R.layout.tanlu_item_video_cover +// } +// +// override fun getGSYVideoManager(): GSYVideoViewBridge { +// GSYVideoManager.instance().initContext(context.applicationContext) +// return GSYVideoManager.instance() +// } +// +// override fun setProgressAndTime(progress: Int, secProgress: Int, currentTime: Int, totalTime: Int, forceChange: Boolean) { +// super.setProgressAndTime(progress, secProgress, currentTime, totalTime, forceChange) +// if (progress != 0) { +//// Log.d("liyz", "SimpleCoverVideoPlayer setProgressAndTime -----2---- $progress"); +// mProgressBar.progress = progress +// } +// } +// +// fun loadCoverImage(url: String, mContext: Context) { +// //加载图片 +// val requestOptions = RequestOptions() +//// .placeholder(R.drawable.tanlu_normal_image) +// .error(R.drawable.tanlu_normal_image) +// Glide.with(mContext).asBitmap() +// .load(url) +// .apply(requestOptions) +// .into(SkinAbleBitmapTarget(coverImage, requestOptions)) +// +// } +// +// override fun updateStartImage() { +// when (mCurrentState) { +//// GSYVideoView.CURRENT_STATE_PLAYING -> start.setImageResource(R.drawable.selector_bg_btn_pause) +//// GSYVideoView.CURRENT_STATE_ERROR -> start.setImageResource(R.drawable.main_video_refresh_btn) +//// else -> start.setImageResource(R.drawable.selector_bg_btn_play) +// } +// } +// +// fun setFullClickListener(listener: OnClickListener) { +// fullscreen.setOnClickListener(listener) +// } +// +// override fun changeUiToCompleteShow() { +// super.changeUiToCompleteShow() +//// setViewShowState(mBottomContainer, View.INVISIBLE) +// mBottomContainer.visibility = View.INVISIBLE +// mProgressBar.visibility = View.GONE +// } +// +// override fun hideAllWidget() { +// super.hideAllWidget() +// mBottomContainer.visibility = View.INVISIBLE +// mProgressBar.visibility = View.GONE +// } +// +// override fun changeUiToPrepareingClear() { +// super.changeUiToPrepareingClear() +// mBottomContainer.visibility = View.INVISIBLE +// mProgressBar.visibility = View.GONE +// } +// +// override fun changeUiToPlayingBufferingClear() { +// super.changeUiToPlayingBufferingClear() +// mBottomContainer.visibility = View.INVISIBLE +// mProgressBar.visibility = View.GONE +// +// } +// +// override fun changeUiToClear() { +// super.changeUiToClear() +// mBottomContainer.visibility = View.INVISIBLE +// mProgressBar.visibility = View.GONE +// } +// +// override fun changeUiToCompleteClear() { +// super.changeUiToCompleteClear() +// mBottomContainer.visibility = View.INVISIBLE +// mProgressBar.visibility = View.GONE +// } +// +// override fun onAutoCompletion() { +// super.onAutoCompletion() +// mProgressBar.progress = 0 +// } +// +// override fun showWifiDialog() { +// //直接播放,不显示WIFI对话框 +// startPlayLogic() +// } +// +// override fun onDetachedFromWindow() { +// super.onDetachedFromWindow() +// mProgressBar.progress = 0 +// mFullPauseBitmap = null +// if (mAudioManager != null) { +// try { +// mAudioManager.abandonAudioFocus(onAudioFocusChangeListener) +// } catch (e: Exception) { +// Logger.e(TAG, e, "onDetachedFromWindow - abandonAudioFocus") +// } +// } +// } +// +// override fun onClick(v: View?) { +// super.onClick(v) +// v?.let { +// when (v) { +// start -> { +// +// } +// else -> { +// +// } +// } +// } +// } +// +// override fun onPrepared() { +// super.onPrepared() +// } +// +// override fun onCompletion() { +// +// } +// +// override fun onSurfaceUpdated(surface: Surface) { +// super.onSurfaceUpdated(surface) +// if (mThumbImageViewLayout != null && mThumbImageViewLayout.visibility == View.VISIBLE) { +// mThumbImageViewLayout.visibility = View.INVISIBLE +// } +// } +// +// override fun setViewShowState(view: View?, visibility: Int) { +// if (view === mThumbImageViewLayout && visibility != View.VISIBLE) { +// return +// } +// super.setViewShowState(view, visibility) +// } +// +// override fun onSurfaceAvailable(surface: Surface) { +// super.onSurfaceAvailable(surface) +// mProgressBar.visibility = View.GONE +// if (GSYVideoType.getRenderType() != GSYVideoType.TEXTURE) { +// if (mThumbImageViewLayout != null && mThumbImageViewLayout.visibility == View.VISIBLE) { +// mThumbImageViewLayout.visibility = View.INVISIBLE +// } +// } +// } +//} \ No newline at end of file diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/VideoInit.kt b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/VideoInit.kt index b7962f3acc..74748e897e 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/VideoInit.kt +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/VideoInit.kt @@ -1,23 +1,23 @@ -package com.mogo.module.tanlu.video - -import com.shuyu.gsyvideoplayer.GSYVideoManager -import com.shuyu.gsyvideoplayer.cache.CacheFactory -import com.shuyu.gsyvideoplayer.cache.ProxyCacheManager -import com.shuyu.gsyvideoplayer.model.VideoOptionModel -import com.shuyu.gsyvideoplayer.player.IjkPlayerManager -import com.shuyu.gsyvideoplayer.player.PlayerFactory -import com.shuyu.gsyvideoplayer.utils.GSYVideoType -import tv.danmaku.ijk.media.player.IjkMediaPlayer - - -fun initVideo() { - PlayerFactory.setPlayManager(IjkPlayerManager::class.java) - CacheFactory.setCacheManager(ProxyCacheManager::class.java) - var list = mutableListOf() - list.add(VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "enable-accurate-seek", 1)) - list.add(VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "videotoolbox", 0)) -// list.add(VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "dns_cache_clear", 1)) - GSYVideoManager.instance().optionModelList = list - GSYVideoType.enableMediaCodec() - GSYVideoType.enableMediaCodecTexture() -} \ No newline at end of file +//package com.mogo.module.tanlu.video +// +//import com.shuyu.gsyvideoplayer.GSYVideoManager +//import com.shuyu.gsyvideoplayer.cache.CacheFactory +//import com.shuyu.gsyvideoplayer.cache.ProxyCacheManager +//import com.shuyu.gsyvideoplayer.model.VideoOptionModel +//import com.shuyu.gsyvideoplayer.player.IjkPlayerManager +//import com.shuyu.gsyvideoplayer.player.PlayerFactory +//import com.shuyu.gsyvideoplayer.utils.GSYVideoType +//import tv.danmaku.ijk.media.player.IjkMediaPlayer +// +// +//fun initVideo() { +// PlayerFactory.setPlayManager(IjkPlayerManager::class.java) +// CacheFactory.setCacheManager(ProxyCacheManager::class.java) +// var list = mutableListOf() +// list.add(VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "enable-accurate-seek", 1)) +// list.add(VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "videotoolbox", 0)) +//// list.add(VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "dns_cache_clear", 1)) +// GSYVideoManager.instance().optionModelList = list +// GSYVideoType.enableMediaCodec() +// GSYVideoType.enableMediaCodecTexture() +//} \ No newline at end of file diff --git a/modules/mogo-module-tanlu/src/main/res/layout/tanlu_item_main_media_recycler_new.xml b/modules/mogo-module-tanlu/src/main/res/layout/tanlu_item_main_media_recycler_new.xml index eb9842f999..9457b67313 100644 --- a/modules/mogo-module-tanlu/src/main/res/layout/tanlu_item_main_media_recycler_new.xml +++ b/modules/mogo-module-tanlu/src/main/res/layout/tanlu_item_main_media_recycler_new.xml @@ -15,12 +15,12 @@ android:layout_marginBottom="@dimen/tanlu_module_card_margin_left" android:background="@drawable/shape_tanlu_top_bg"> - + + + + + + start.setImageResource(R.drawable.selector_bg_btn_pause) +// GSYVideoView.CURRENT_STATE_ERROR -> start.setImageResource(R.drawable.main_video_refresh_btn) +// else -> start.setImageResource(R.drawable.selector_bg_btn_play) + } + } + + fun setFullClickListener(listener: OnClickListener) { + fullscreen.setOnClickListener(listener) + } + + override fun changeUiToCompleteShow() { + super.changeUiToCompleteShow() +// setViewShowState(mBottomContainer, View.INVISIBLE) + mBottomContainer.visibility = View.INVISIBLE + mProgressBar.visibility = View.GONE + } + + override fun hideAllWidget() { + super.hideAllWidget() + mBottomContainer.visibility = View.INVISIBLE + mProgressBar.visibility = View.GONE + } + + override fun changeUiToPrepareingClear() { + super.changeUiToPrepareingClear() + mBottomContainer.visibility = View.INVISIBLE + mProgressBar.visibility = View.GONE + } + + override fun changeUiToPlayingBufferingClear() { + super.changeUiToPlayingBufferingClear() + mBottomContainer.visibility = View.INVISIBLE + mProgressBar.visibility = View.GONE + + } + + override fun changeUiToClear() { + super.changeUiToClear() + mBottomContainer.visibility = View.INVISIBLE + mProgressBar.visibility = View.GONE + } + + override fun changeUiToCompleteClear() { + super.changeUiToCompleteClear() + mBottomContainer.visibility = View.INVISIBLE + mProgressBar.visibility = View.GONE + } + + override fun onAutoCompletion() { + super.onAutoCompletion() + mProgressBar.progress = 0 + } + + override fun showWifiDialog() { + //直接播放,不显示WIFI对话框 + startPlayLogic() + } + + override fun onDetachedFromWindow() { + super.onDetachedFromWindow() + mProgressBar.progress = 0 + mFullPauseBitmap = null + if (mAudioManager != null) { + try { + mAudioManager.abandonAudioFocus(onAudioFocusChangeListener) + } catch (e: Exception) { + Logger.e(TAG, e, "onDetachedFromWindow - abandonAudioFocus") + } + } + } + + override fun onClick(v: View?) { + super.onClick(v) + v?.let { + when (v) { + start -> { + + } + else -> { + + } + } + } + } + + override fun onPrepared() { + super.onPrepared() + } + + override fun onCompletion() { + + } + + override fun onSurfaceUpdated(surface: Surface) { + super.onSurfaceUpdated(surface) + if (mThumbImageViewLayout != null && mThumbImageViewLayout.visibility == View.VISIBLE) { + mThumbImageViewLayout.visibility = View.INVISIBLE + } + } + + override fun setViewShowState(view: View?, visibility: Int) { + if (view === mThumbImageViewLayout && visibility != View.VISIBLE) { + return + } + super.setViewShowState(view, visibility) + } + + override fun onSurfaceAvailable(surface: Surface) { + super.onSurfaceAvailable(surface) + mProgressBar.visibility = View.GONE + if (GSYVideoType.getRenderType() != GSYVideoType.TEXTURE) { + if (mThumbImageViewLayout != null && mThumbImageViewLayout.visibility == View.VISIBLE) { + mThumbImageViewLayout.visibility = View.INVISIBLE + } + } + } +} \ No newline at end of file diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/view/VideoInit.kt b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/view/VideoInit.kt new file mode 100644 index 0000000000..b7962f3acc --- /dev/null +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/view/VideoInit.kt @@ -0,0 +1,23 @@ +package com.mogo.module.tanlu.video + +import com.shuyu.gsyvideoplayer.GSYVideoManager +import com.shuyu.gsyvideoplayer.cache.CacheFactory +import com.shuyu.gsyvideoplayer.cache.ProxyCacheManager +import com.shuyu.gsyvideoplayer.model.VideoOptionModel +import com.shuyu.gsyvideoplayer.player.IjkPlayerManager +import com.shuyu.gsyvideoplayer.player.PlayerFactory +import com.shuyu.gsyvideoplayer.utils.GSYVideoType +import tv.danmaku.ijk.media.player.IjkMediaPlayer + + +fun initVideo() { + PlayerFactory.setPlayManager(IjkPlayerManager::class.java) + CacheFactory.setCacheManager(ProxyCacheManager::class.java) + var list = mutableListOf() + list.add(VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "enable-accurate-seek", 1)) + list.add(VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "videotoolbox", 0)) +// list.add(VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "dns_cache_clear", 1)) + GSYVideoManager.instance().optionModelList = list + GSYVideoType.enableMediaCodec() + GSYVideoType.enableMediaCodecTexture() +} \ No newline at end of file