[6.8.0]
[fix] [车外语音]
This commit is contained in:
@@ -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); //客户端注册 服务端需要
|
||||
}
|
||||
@@ -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,
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user