diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/bean/DPMsgType.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/bean/DPMsgType.kt index 60ac74237b..d720db0152 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/bean/DPMsgType.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/bean/DPMsgType.kt @@ -21,5 +21,6 @@ enum class DPMsgType(val type: Int) { TYPE_ENV_CHECK(11), //环境核验 TYPE_WRITEOFF_INFO_DETAIL(13), //核销信息 TYPE_WRITEOFF_INFO_RESULT(14), //核销结果 + TYPE_OUTOF_VOICE(15), //转发给乘客屏播放 TYPE_CLIENT_REGISTER(12); //客户端注册 服务端需要 } \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/bean/DataBean.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/bean/DataBean.kt index e23793e500..8d4d1e101c 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/bean/DataBean.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/bean/DataBean.kt @@ -121,6 +121,12 @@ data class EnvCheck( val envType: EnvType, ) : BaseDPMsg(DPMsgType.TYPE_ENV_CHECK.type) +// 检测环境 +data class OutofVoice( + val notice: String, +) : BaseDPMsg(DPMsgType.TYPE_OUTOF_VOICE.type, targetScreenTypes = mutableListOf(ScreenType.Passenger)) + + // 车辆类型 enum class VehicleType { T1T2, diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/voice/OutOffVoice.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/voice/OutOffVoice.kt new file mode 100644 index 0000000000..3e766e7f11 --- /dev/null +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/voice/OutOffVoice.kt @@ -0,0 +1,35 @@ +package com.mogo.och.common.module.voice + +import com.mogo.commons.AbsMogoApplication +import com.mogo.commons.voice.AIAssist +import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager +import com.mogo.och.common.module.manager.socket.lan.ILanMessageListener +import com.mogo.och.common.module.manager.socket.lan.LanSocketManager +import com.mogo.och.common.module.manager.socket.lan.bean.DPMsgType +import com.mogo.och.common.module.manager.socket.lan.bean.OutofVoice + +object OutOffVoice { + + val outffListener = object : ILanMessageListener { + override fun targetLan(): Class { + return OutofVoice::class.java + } + + override fun onLanMsgReceived(first: OutofVoice?) { + first?.let { + try{ + AIAssist.getInstance(AbsMogoApplication.getApp()).playVoiceOutside(first.notice) + }catch (e:Exception){ + OchChainLogManager.writeChainLog("Voice","车外音频报错${e}") + } + } + } + } + + fun load(){ + LanSocketManager.registerSocketMessageListener(DPMsgType.TYPE_OUTOF_VOICE.type, outffListener) + } + fun release(){ + LanSocketManager.unRegisterSocketMessageListener(DPMsgType.TYPE_OUTOF_VOICE.type, outffListener) + } +} \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/voice/VoiceNotice.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/voice/VoiceNotice.kt index e1625c4f39..375c4fb54a 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/voice/VoiceNotice.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/voice/VoiceNotice.kt @@ -3,9 +3,12 @@ package com.mogo.och.common.module.voice import com.mogo.commons.AbsMogoApplication import com.mogo.commons.voice.AIAssist import com.mogo.eagle.core.data.config.FunctionBuildConfig +import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler import com.mogo.och.common.module.manager.audiofocus.AudioFocusManager import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager +import com.mogo.och.common.module.manager.socket.lan.LanSocketManager +import com.mogo.och.common.module.manager.socket.lan.bean.OutofVoice import com.mogo.tts.base.IMogoTTSCallback import com.mogo.tts.base.LangTtsEntity import com.mogo.tts.base.LanguageType @@ -25,7 +28,12 @@ object VoiceNotice { fun showNoticeOut(notice: String?) { save2Log("车外准备播放 内容${notice}") notice?.let { - AIAssist.getInstance(AbsMogoApplication.getApp()).playVoiceOutside(notice) + if(AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)){ + val outofVoice = OutofVoice(notice) + LanSocketManager.sendMsgToClient(outofVoice) + }else{ + AIAssist.getInstance(AbsMogoApplication.getApp()).playVoiceOutside(notice) + } } } diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/ShuttlePassengerProvider.kt b/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/ShuttlePassengerProvider.kt index ecf118c567..dec8f5e354 100644 --- a/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/ShuttlePassengerProvider.kt +++ b/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/ShuttlePassengerProvider.kt @@ -11,6 +11,7 @@ import com.mogo.eagle.core.utilcode.util.DeviceUtils import com.mogo.eagle.core.utilcode.util.MultiDisplayUtils import com.mogo.och.common.module.constant.OchCommonConst import com.mogo.och.common.module.biz.provider.CommonServiceImpl +import com.mogo.och.common.module.voice.OutOffVoice import com.mogo.och.common.module.wigets.media.MediaPlayerActivity import com.mogo.och.shuttle.weaknet.passenger.model.TicketModel import com.mogo.och.shuttle.weaknet.passenger.ui.widget.BusPStatusBarView @@ -60,12 +61,14 @@ class ShuttlePassengerProvider : CommonServiceImpl() { } } TicketModel.load() + OutOffVoice.load() return mPM2Fragment!! } override fun resetFragment() { super.resetFragment() TicketModel.release() + OutOffVoice.release() mPM2Fragment = null }