[fix]
[车外语音]
This commit is contained in:
yangyakun
2024-11-25 10:54:39 +08:00
parent f18b9e8ed8
commit 925e190ad3
5 changed files with 54 additions and 1 deletions

View File

@@ -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); //客户端注册 服务端需要
}

View File

@@ -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,

View File

@@ -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<OutofVoice> {
override fun targetLan(): Class<OutofVoice> {
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)
}
}

View File

@@ -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)
}
}
}

View File

@@ -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
}