From 61ed55611bead7da6aa88238e5f35df7767c676a Mon Sep 17 00:00:00 2001 From: yangyakun Date: Wed, 30 Jul 2025 12:22:02 +0800 Subject: [PATCH] =?UTF-8?q?[8.2.0]=20[=E5=B9=BF=E5=91=8AB2]=20[=E6=92=AD?= =?UTF-8?q?=E6=94=BE=E5=B9=BF=E5=91=8A+=E5=8F=B8=E6=9C=BA=E4=BD=8D?= =?UTF-8?q?=E8=A7=86=E9=A2=91=E6=B5=81=E9=80=82=E9=85=8D]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/och/biz/media/MediaServiceManager.kt | 9 +++++++ .../och/biz/media/video/ads/AdMediaView.kt | 8 ++++++ .../biz/media/video/ads/AdMediaViewModel.kt | 25 ++++++++++++++++--- .../common/module/debug/DebugDataDispatch.kt | 18 ++++++++----- 4 files changed, 51 insertions(+), 9 deletions(-) diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/media/MediaServiceManager.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/media/MediaServiceManager.kt index 50871fe3e1..d182709a3f 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/media/MediaServiceManager.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/media/MediaServiceManager.kt @@ -3,6 +3,7 @@ package com.mogo.och.biz.media import android.annotation.SuppressLint import com.alibaba.android.arouter.launcher.ARouter import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_OCHCOMMON +import com.mogo.och.common.module.biz.media.IVideoListener import com.mogo.och.common.module.biz.media.data.MediaItem import com.mogo.och.common.module.constant.OchCommonConst @@ -22,4 +23,12 @@ object MediaServiceManager { mediaService?.createCacheFileDir() } + fun addVideoListener(tag:String,listener: IVideoListener){ + mediaService?.addVideoListener(tag,listener) + } + + fun removeVideoListener(tag: String){ + mediaService?.removeVideoListener(tag) + } + } \ No newline at end of file diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/media/video/ads/AdMediaView.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/media/video/ads/AdMediaView.kt index 319a6d653d..c7dc3d4bda 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/media/video/ads/AdMediaView.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/media/video/ads/AdMediaView.kt @@ -187,4 +187,12 @@ class AdMediaView : FrameLayout, AdMediaViewCallback { } } + override fun pauseVideo() { + adVideoPlayer.onVideoPause() + } + + override fun resumeVideo() { + adVideoPlayer.onVideoResume() + } + } \ No newline at end of file diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/media/video/ads/AdMediaViewModel.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/media/video/ads/AdMediaViewModel.kt index c695aa0524..4a5b737ba1 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/media/video/ads/AdMediaViewModel.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/media/video/ads/AdMediaViewModel.kt @@ -14,7 +14,6 @@ import com.mogo.och.biz.media.video.MediaDataSourceManager import com.mogo.och.biz.media.video.MediaFileCacheManager import com.mogo.och.biz.media.video.MediaPlayLogger 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.utils.RxUtils import com.shuyu.gsyvideoplayer.listener.GSYSampleCallBack @@ -79,16 +78,34 @@ class AdMediaViewModel : ViewModel(), IVideoListener { override fun onCleared() { MediaDataSourceManager.unInit() - MediaManager.removeListener(TAG) + MediaServiceManager.removeVideoListener(TAG) } fun setAdMediaCallback(viewCallback: AdMediaViewCallback) { this.viewCallback = viewCallback MediaServiceManager.invokeCreateCacheFileDir() - MediaManager.addListener(TAG,this) + MediaServiceManager.addVideoListener(TAG,this) MediaDataSourceManager.init() } + override fun setMediaPause() { + super.setMediaPause() + if (currentPlayingItem?.isImageType()==true) { + RxUtils.disposeSubscribe(playImageDisposable) + }else{ + this.viewCallback?.pauseVideo() + } + } + + override fun setMediaResume() { + super.setMediaResume() + if (currentPlayingItem?.isImageType()==true) { + startPlayerAds(currentPlayingIndex) + }else{ + this.viewCallback?.resumeVideo() + } + } + /** * 分发广告数据 */ @@ -295,6 +312,8 @@ class AdMediaViewModel : ViewModel(), IVideoListener { fun startPlayImage(it: MediaItem) fun startPlayVideo(it: MediaItem, playerCallback: GSYSampleCallBack) fun startPlayStationVideo(stationMediaItem: MediaItem,adMediaItem: MediaItem?, playerCallback: GSYSampleCallBack) + fun pauseVideo() + fun resumeVideo() } diff --git a/OCH/common/common/src/debug/java/com/mogo/och/common/module/debug/DebugDataDispatch.kt b/OCH/common/common/src/debug/java/com/mogo/och/common/module/debug/DebugDataDispatch.kt index a78e1f1354..b8baa86142 100644 --- a/OCH/common/common/src/debug/java/com/mogo/och/common/module/debug/DebugDataDispatch.kt +++ b/OCH/common/common/src/debug/java/com/mogo/och/common/module/debug/DebugDataDispatch.kt @@ -3,8 +3,10 @@ package com.mogo.och.common.module.debug import android.content.Intent import android.graphics.Bitmap import android.graphics.BitmapFactory +import android.graphics.Color import android.os.Environment import android.os.SystemClock +import android.widget.TextView import chassis.Chassis import chassis.Chassis.DoorNumber import chassis.VehicleStateOuterClass @@ -85,6 +87,7 @@ object DebugDataDispatch { const val collisionRisk = "CollisionRisk" const val mediaStationMedia = "stationMedia" +// adb shell am broadcast -a com.mogo.launcher.debug -f 0x011000000 --es type "video" --ei add 2 // adb shell am broadcast -a com.mogo.launcher.debug -f 0x011000000 --es type "location" --es path "1111/11111" // adb shell am broadcast -a com.mogo.launcher.debug -f 0x011000000 --es type "pncAction" // adb shell am broadcast -a com.mogo.launcher.debug -f 0x011000000 --es type "CollisionRisk" @@ -157,17 +160,20 @@ object DebugDataDispatch { bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream) val byteArray = stream.toByteArray() CallerVlmManager.invokeVllmImage(time.toDouble(),byteArray) - } - } - video -> { - val ota = intent.getIntExtra("video",0) + } + } + video -> { + val ota = intent.getIntExtra("add",0) // rtmp://video.zhidaozhixing.com/live/861130041693196C_2 val url = intent.getStringExtra("url")?:"" BizLoopManager.runInMainThread(){ - if(ota>0&&url.startsWith("rtmp://")){ + if(ota>0){ val driveVideoView = CallerDevaToolsManager.driveSeatVideoProvider() ?.getDriveVideoView(url) - CallerOchBizFunctionCall4EagleManager.setVideoView(driveVideoView) + val test = TextView(ActivityUtils.getTopActivity()) + test.text = "测试view" + test.setTextColor(Color.parseColor("#66FFFFFF")) + CallerOchBizFunctionCall4EagleManager.setVideoView(test) }else{ CallerOchBizFunctionCall4EagleManager.setVideoView(null) }