[接口信息]
This commit is contained in:
yangyakun
2024-08-20 18:52:39 +08:00
parent e72fca23c4
commit ab5fba0392
10 changed files with 194 additions and 8 deletions

View File

@@ -0,0 +1,7 @@
package com.mogo.och.common.module.biz.media
import com.mogo.och.common.module.wigets.media.MediaItem
interface IMediaDispatch {
fun diapatchMedia(list :MutableList<MediaItem>)
}

View File

@@ -0,0 +1,15 @@
package com.mogo.och.common.module.biz.media
import com.mogo.och.common.module.utils.CallerBase
import com.mogo.och.common.module.wigets.media.MediaItem
object MediaManager : CallerBase<IMediaDispatch>() {
fun postSiteIntroduceInfo(list: MutableList<MediaItem>){
M_LISTENERS.forEach {
val listener = it.value
listener.diapatchMedia(list)
}
}
}

View File

@@ -9,6 +9,7 @@ import com.mogo.commons.AbsMogoApplication
import com.mogo.eagle.core.utilcode.download.DownloadUtils
import com.mogo.eagle.core.utilcode.download.callback.IDownloadListener
import com.mogo.eagle.core.utilcode.util.EncryptUtils
import com.mogo.eagle.core.utilcode.util.RegexUtils
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
import com.mogo.och.common.module.manager.loop.BizLoopManager
import com.mogo.och.common.module.manager.loop.LoopInfo
@@ -81,6 +82,10 @@ object DownloadManager {
fun downloadVideoFile(mediaUrl: String, listener: IDownloadListener?) {
if (!RegexUtils.isURL(mediaUrl)) {
OchChainLogManager.writechainLogDownload("准备下载","url 错误 ${mediaUrl}")
return
}
val downloadUrl = mediaUrl
val downloadDir = getFileCacheDir()
val downloadFileName = getCacheFileName(mediaUrl)+"_temp"

View File

@@ -11,8 +11,9 @@ 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.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.manager.logchainanalytic.OchChainLogManager
import com.shuyu.gsyvideoplayer.GSYVideoManager
import kotlinx.android.synthetic.main.fragment_video_player.acb_add_site_video
import kotlinx.android.synthetic.main.fragment_video_player.imageVideoRotationView
@@ -22,7 +23,7 @@ import kotlinx.android.synthetic.main.fragment_video_player.imageVideoRotationVi
* @date: 2022/4/12
*/
class MediaPlayerFragment :
MvpFragment<MediaPlayerFragment?, MediaPlayerPresenter?>() {
MvpFragment<MediaPlayerFragment?, MediaPlayerPresenter?>(), IMediaDispatch {
companion object {
private val TAG = MediaPlayerFragment::class.java.simpleName
@@ -45,10 +46,11 @@ class MediaPlayerFragment :
override fun initViews() {
acb_add_site_video.onClick {
val siteList = mutableListOf<MediaItem>()
siteList.add(MediaItem(MediaItem.PrioritySite,"https://img.zhidaozhixing.com/fileServer/defaultPath/b47f361c3de6ea490f3086407fc0376f/a1%E8%B7%AF%E7%BA%BF%281%29.mp4",MediaItem.MEDIA_TYPE_VIDEO,"","title"))
siteList.add(MediaItem(MediaItem.PrioritySite,"https://img.zhidaozhixing.com/fileServer/defaultPath/a6376a452df030ee97770688f6fea4c0/a2%E8%B7%AF%E7%BA%BF.mp4",MediaItem.MEDIA_TYPE_VIDEO,"","title"))
// siteList.add(MediaItem(MediaItem.PrioritySite,"https://img.zhidaozhixing.com/fileServer/defaultPath/b47f361c3de6ea490f3086407fc0376f/a1%E8%B7%AF%E7%BA%BF%281%29.mp4",MediaItem.MEDIA_TYPE_VIDEO,"","title"))
siteList.add(MediaItem(MediaItem.PrioritySite,"https://img.zhidaozhixing.com/fileServer/online_car_hailing/1676357557335/3.mp4",MediaItem.MEDIA_TYPE_VIDEO,"","title"))
setHightPriorityMediaItem(siteList)
}
MediaManager.addListener(TAG,this)
MediaFileCacheManager.createFileCacheDir(MainMoGoApplication.getApp().applicationContext)
MediaDataSourceManager.init(TAG, object : IMediaDataSourceListener {
override fun onMediaDataSourceChanged(list: List<MediaItem>) {
@@ -98,8 +100,13 @@ class MediaPlayerFragment :
override fun onDestroy() {
MediaDataSourceManager.unInit(TAG)
GSYVideoManager.releaseAllVideos()
MediaManager.removeListener(TAG)
super.onDestroy()
}
override fun diapatchMedia(list: MutableList<MediaItem>) {
setHightPriorityMediaItem(list)
}
}
class MediaPlayerPresenter(view: MediaPlayerFragment?) :