[广告B1]
[播放广告+插播站点视频]
This commit is contained in:
yangyakun
2025-07-29 12:31:16 +08:00
parent 571ea76936
commit 0523dcceab
2 changed files with 4 additions and 71 deletions

View File

@@ -2,24 +2,12 @@ package com.mogo.och.biz.media.video
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.kotlin.onClick
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.util.GsonUtils
import com.mogo.eagle.core.utilcode.util.ThreadUtils
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import com.mogo.och.biz.R
import com.mogo.och.biz.media.MediaServiceManager
import com.mogo.och.common.module.biz.media.IVideoListener
import com.mogo.och.common.module.biz.media.MediaManager
import com.mogo.och.common.module.biz.media.data.MediaItem
import com.mogo.och.common.module.manager.download.DownloadManager
import com.mogo.och.common.module.manager.loop.BizLoopManager
import com.mogo.och.common.module.utils.RxUtils
import com.shuyu.gsyvideoplayer.GSYVideoManager
import io.reactivex.disposables.Disposable
import kotlinx.android.synthetic.main.biz_fragment_video_player.acb_add_site_video
import kotlinx.android.synthetic.main.biz_fragment_video_player.imageVideoRotationView
/**
* @author: wangmingjun
@@ -32,8 +20,6 @@ class VideoPlayerFragment :
private val TAG = VideoPlayerFragment::class.java.simpleName
}
private var arrayListOf = mutableListOf<MediaItem>()
override fun getLayoutId(): Int {
return R.layout.biz_fragment_video_player
}
@@ -53,83 +39,32 @@ class VideoPlayerFragment :
siteList.add(MediaItem(MediaItem.PrioritySite,"https://img.zhidaozhixing.com/fileServer/online_car_hailing/1676357557335/3.mp4",MediaItem.MEDIA_TYPE_VIDEO,"","title"))
setHightPriorityMediaItem(siteList)
}
MediaServiceManager.invokeCreateCacheFileDir()
MediaManager.addListener(TAG,this)
MediaDataSourceManager.init()
}
override fun onMediaDataSourceChanged(list: List<MediaItem>) {
val isNewData = arrayListOf.isNotEmpty()
CallerLogger.d(
TAG,
"onMediaDataSourceChangedisNewData=$isNewData, list=${GsonUtils.toJson(list)}"
)
arrayListOf.clear()
arrayListOf.addAll(list)
UiThreadHandler.post {
if (isNewData) {
imageVideoRotationView?.setNewMediaData(arrayListOf)
} else {
imageVideoRotationView?.setMediaData(arrayListOf)
}
}
}
fun setHightPriorityMediaItem(list: MutableList<MediaItem>){
context?.let {context->
val cacheList = list.filter {
if(!MediaFileCacheManager.isLocalCacheFileExists(context, it.fileUrl)){
DownloadManager.downloadVideoFile(it.fileUrl,null)
}
MediaFileCacheManager.isLocalCacheFileExists(context, it.fileUrl)
}
ThreadUtils.runOnUiThread {
imageVideoRotationView.setsetHightPriorityMediaItem(cacheList.toMutableList())
}
}
MediaManager.postSiteIntroduceInfo(list)
}
override fun onPause() {
super.onPause()
imageVideoRotationView.setPause()
}
override fun onResume() {
super.onResume()
imageVideoRotationView.setResume()
}
override fun onDestroy() {
MediaDataSourceManager.unInit()
GSYVideoManager.releaseAllVideos()
MediaManager.removeListener(TAG)
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)
}
override fun setMediaPause() {
super.setMediaPause()
BizLoopManager.runInMainThread{
imageVideoRotationView.setPause()
}
}
override fun setMediaResume() {
super.setMediaResume()
BizLoopManager.runInMainThread {
imageVideoRotationView.setResume()
}
}
}

View File

@@ -3,17 +3,15 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">
<!-- 图片或视频广告-->
<com.mogo.och.biz.media.video.MediaLoopPlayView
android:id="@+id/imageVideoRotationView"
<com.mogo.och.biz.media.video.ads.AdMediaView
android:layout_width="match_parent"
android:layout_height="match_parent" />
android:layout_height="match_parent"/>
<androidx.appcompat.widget.AppCompatButton
android:id="@+id/acb_add_site_video"
android:text="添加视频"
android:gravity="center"
android:visibility="gone"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:layout_width="@dimen/dp_100"