[1.0.0]
[重复数据来源]
This commit is contained in:
@@ -12,9 +12,9 @@ import androidx.viewpager.widget.PagerAdapter
|
||||
import androidx.viewpager.widget.ViewPager
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.util.CountDownTimer
|
||||
import com.mogo.eagle.core.utilcode.util.TAG
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.och.common.module.wigets.media.MediaLoopPlayView.Companion.IMAGE_COUNT_DOWN_SECONDS
|
||||
import com.mogo.och.common.module.wigets.media.MediaLoopPlayView.Companion.TAG
|
||||
import com.shuyu.gsyvideoplayer.listener.GSYSampleCallBack
|
||||
|
||||
class MediaLoopPlayView @JvmOverloads constructor(
|
||||
@@ -123,7 +123,7 @@ class AdvancePagerAdapter(context: Context, viewPager: ViewPager) : PagerAdapter
|
||||
if(list.isEmpty()){
|
||||
return
|
||||
}
|
||||
startPlayHightPriorityMediaItem(false)
|
||||
startPlayHightPriorityMediaItem(false,1)
|
||||
}
|
||||
|
||||
override fun getCount(): Int {
|
||||
@@ -189,8 +189,8 @@ class AdvancePagerAdapter(context: Context, viewPager: ViewPager) : PagerAdapter
|
||||
}
|
||||
}
|
||||
|
||||
private fun startPlayHightPriorityMediaItem(isOnVideoError:Boolean){
|
||||
CallerLogger.d(TAG,"检测播放站点介绍")
|
||||
private fun startPlayHightPriorityMediaItem(isOnVideoError:Boolean,who:Int){
|
||||
CallerLogger.d(TAG,"检测播放站点介绍:$who")
|
||||
val currentPosition = mViewPager.currentItem
|
||||
if(mItemViewList.isEmpty()){
|
||||
CallerLogger.d(TAG,"view 没有初始化")
|
||||
@@ -217,7 +217,7 @@ class AdvancePagerAdapter(context: Context, viewPager: ViewPager) : PagerAdapter
|
||||
mViewPager.setCurrentItem(0, true)
|
||||
return
|
||||
}
|
||||
CallerLogger.d(TAG,"恢复原有视频播放信息")
|
||||
CallerLogger.d(TAG,"恢复原有视频播放信息${currentMediaItem}")
|
||||
itemView.onVideoReset()
|
||||
if (isOnVideoError) {
|
||||
// 删除上一个缓存的视频
|
||||
@@ -260,6 +260,7 @@ class AdvancePagerAdapter(context: Context, viewPager: ViewPager) : PagerAdapter
|
||||
// 广告中有视频播放器
|
||||
if(mediaItem.fileType==MediaItem.MEDIA_TYPE_VIDEO){
|
||||
mViewPager.post {
|
||||
mViewPager.currentItem = index
|
||||
mViewPager.setCurrentItem(index, true)
|
||||
}
|
||||
return
|
||||
@@ -279,7 +280,7 @@ class AdvancePagerAdapter(context: Context, viewPager: ViewPager) : PagerAdapter
|
||||
mDataList.add(mediaItem)
|
||||
addItemView(mediaItem)
|
||||
notifyDataSetChanged()
|
||||
mViewPager.currentItem = 0
|
||||
mViewPager.currentItem = mItemViewList.size-1
|
||||
mViewPager.setCurrentItem(mItemViewList.size-1, true)
|
||||
}
|
||||
|
||||
@@ -297,13 +298,13 @@ class AdvancePagerAdapter(context: Context, viewPager: ViewPager) : PagerAdapter
|
||||
|
||||
override fun onAutoComplete(url: String?, vararg objects: Any?) {
|
||||
CallerLogger.d(MediaLoopPlayView.TAG, "onAutoComplete")
|
||||
startPlayHightPriorityMediaItem(false)
|
||||
startPlayHightPriorityMediaItem(false,3)
|
||||
}
|
||||
|
||||
override fun onPlayError(url: String?, vararg objects: Any?) {
|
||||
super.onPlayError(url, *objects)
|
||||
CallerLogger.d(MediaLoopPlayView.TAG, "onPlayError, error=${objects}")
|
||||
startPlayHightPriorityMediaItem(true)
|
||||
startPlayHightPriorityMediaItem(true,4)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -438,7 +439,7 @@ class AdvancePagerAdapter(context: Context, viewPager: ViewPager) : PagerAdapter
|
||||
)
|
||||
if (mItemViewList.size > 1) { //多于1,才会循环跳转
|
||||
if(hightPriorityMediaItem.size>0){
|
||||
startPlayHightPriorityMediaItem(false)
|
||||
startPlayHightPriorityMediaItem(false,5)
|
||||
}else {
|
||||
startLoopPlay()
|
||||
}
|
||||
|
||||
@@ -3,10 +3,8 @@ package com.mogo.och.common.module.wigets.media
|
||||
import com.mogo.commons.mvp.MvpFragment
|
||||
import com.mogo.commons.mvp.Presenter
|
||||
import com.mogo.eagle.core.function.main.MainMoGoApplication
|
||||
import com.mogo.eagle.core.utilcode.download.callback.IDownloadListener
|
||||
import com.mogo.eagle.core.utilcode.kotlin.onClick
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger
|
||||
import com.mogo.eagle.core.utilcode.util.GsonUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
@@ -14,7 +12,9 @@ import com.mogo.och.common.module.R
|
||||
import com.mogo.och.common.module.biz.media.IMediaDispatch
|
||||
import com.mogo.och.common.module.biz.media.MediaManager
|
||||
import com.mogo.och.common.module.manager.download.DownloadManager
|
||||
import com.mogo.och.common.module.utils.RxUtils
|
||||
import com.shuyu.gsyvideoplayer.GSYVideoManager
|
||||
import io.reactivex.disposables.Disposable
|
||||
import kotlinx.android.synthetic.main.fragment_video_player.acb_add_site_video
|
||||
import kotlinx.android.synthetic.main.fragment_video_player.imageVideoRotationView
|
||||
|
||||
@@ -104,7 +104,13 @@ class MediaPlayerFragment :
|
||||
super.onDestroy()
|
||||
}
|
||||
|
||||
private var fisrtData: Disposable? = null
|
||||
|
||||
override fun diapatchMedia(list: MutableList<MediaItem>) {
|
||||
if(RxUtils.isNotDisposed(fisrtData)){
|
||||
return
|
||||
}
|
||||
fisrtData = RxUtils.createSubscribe(3_000) {}
|
||||
setHightPriorityMediaItem(list)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user