[接口信息]
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?) :

View File

@@ -1,5 +1,6 @@
package com.mogo.och.data.bean;
import java.util.List;
import java.util.Objects;
/**
@@ -21,6 +22,7 @@ public class BusStationBean {
private String introduction;// 站点简介
private boolean isPlayTts;
private int pointType; // 1:途径点 2:禁行点 3:站点
private List<SiteIntroduce> videoList;
public String getNameKr() {
return nameKr;
@@ -118,6 +120,14 @@ public class BusStationBean {
isPlayTts = playTts;
}
public List<SiteIntroduce> getVideoList() {
return videoList;
}
public void setVideoList(List<SiteIntroduce> videoList) {
this.videoList = videoList;
}
public int getPointType() {
return pointType;
}
@@ -141,6 +151,7 @@ public class BusStationBean {
&& leaving == that.leaving
&& pointType == that.pointType
&& name.equals(that.name)
&& videoList.equals(that.videoList)
&& (nameKr == null || nameKr.equals(that.nameKr));
}
@@ -162,9 +173,10 @@ public class BusStationBean {
", lat=" + lat +
", drivingStatus=" + drivingStatus +
", leaving=" + leaving +
", introduction='" + introduction + '\'' +
", isPlayTts=" + isPlayTts +
", pointType=" + pointType +
", introduction='" + introduction + '\'' +
", videoList=" + videoList +
'}';
}
}

View File

@@ -0,0 +1,59 @@
package com.mogo.och.data.bean;
import java.util.Objects;
public class SiteIntroduce {
private int type;
private String url;
private int seq;
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public int getSeq() {
return seq;
}
public void setSeq(int seq) {
this.seq = seq;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
SiteIntroduce that = (SiteIntroduce) o;
return type == that.type && seq == that.seq && Objects.equals(url, that.url);
}
@Override
public int hashCode() {
int result = type;
result = 31 * result + Objects.hashCode(url);
result = 31 * result + seq;
return result;
}
@Override
public String toString() {
return "SiteIntroduce{" +
"type=" + type +
", url='" + url + '\'' +
", seq=" + seq +
'}';
}
}