diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java index 4d02c0d64d..e9f730bdb4 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java @@ -317,12 +317,6 @@ public abstract class BaseBusTabFragment }); } - public void showNotice(String notice) { - getActivity().runOnUiThread(() -> { - AIAssist.getInstance(getContext()).speakTTSVoice(notice); - }); - } - public void playDI(){ SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(getContext(), R.raw.bus_di); } diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java index 49a0d83a0e..89c0825564 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java @@ -60,6 +60,7 @@ import com.mogo.och.common.module.utils.NumberFormatUtil; import com.mogo.och.common.module.utils.PinYinUtil; import com.mogo.och.common.module.utils.SoundPoolHelper; import com.mogo.och.common.module.utils.ToastUtilsOch; +import com.mogo.och.common.module.voice.VoiceNotice; import com.mogo.service.statusmanager.IMogoStatusChangedListener; import com.mogo.service.statusmanager.StatusDescriptor; @@ -618,8 +619,7 @@ public class BusOrderModel { queryBusRoutes(); arriveStationSuccess(arrivedStationIndex); - - ttsTips(String.format(mContext + VoiceNotice.showNotice(String.format(mContext .getString(R.string.bus_arrived_station_tip), arriveStation)); @@ -697,20 +697,9 @@ public class BusOrderModel { //车站10s后播报 private void leaveTTSTips(String nextStation) { - UiThreadHandler.postDelayed(new Runnable() { - @Override - public void run() { - ttsTips(String.format(mContext - .getString(R.string.bus_leave_station_tip), - nextStation)); - } - },DELAY_10S); - } - - private void ttsTips(String notice) { - UiThreadHandler.post(() ->{ - AIAssist.getInstance(mContext).speakTTSVoice(notice); - }); + VoiceNotice.showNotice(String.format(mContext + .getString(R.string.bus_leave_station_tip), + nextStation),DELAY_10S); } /** @@ -881,7 +870,7 @@ public class BusOrderModel { clearBusStationDatas(); queryBusRoutes();// 重新获取任务 startOrStopQueryPassengerWriteOff(false); - ttsTips(mContext.getString(R.string.bus_end_task_tip)); + VoiceNotice.showNotice(mContext.getString(R.string.bus_end_task_tip)); } } diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java index 8106fb33e6..7bc2b51727 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java @@ -11,6 +11,7 @@ import androidx.lifecycle.LifecycleOwner; import com.mogo.commons.AbsMogoApplication; import com.mogo.commons.mvp.Presenter; +import com.mogo.commons.voice.AIAssist; import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo; import com.mogo.eagle.core.data.config.FunctionBuildConfig; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; @@ -31,6 +32,7 @@ import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean; import com.mogo.och.common.module.biz.callback.ILoginCallback; import com.mogo.och.common.module.manager.OCHAdasAbilityManager; import com.mogo.och.common.module.utils.SoundPoolHelper; +import com.mogo.och.common.module.voice.VoiceNotice; import com.zhidao.socket.utils.LoginStatusUtil; import org.jetbrains.annotations.NotNull; @@ -303,7 +305,7 @@ public class BusPresenter extends Presenter public void playPassenger(WriteOffPassenger passenger) { int passengerNum = passenger.passengerSize; if (passengerNum > 1){ //多人播报 "x人" - mView.showNotice(passengerNum + "人"); + VoiceNotice.showNotice(passengerNum+"人", AIAssist.LEVEL3); }else { //是 1 播放 "滴" mView.playDI(); } diff --git a/OCH/mogo-och-bus/src/main/res/values/strings.xml b/OCH/mogo-och-bus/src/main/res/values/strings.xml index c44067da93..42ef590592 100644 --- a/OCH/mogo-och-bus/src/main/res/values/strings.xml +++ b/OCH/mogo-och-bus/src/main/res/values/strings.xml @@ -39,8 +39,12 @@ 取消 暂无任务 + + + + 已到达%1$s,带好随身物品,下车请注意。 车辆起步,请扶稳坐好,前方到站是%1$s,请下车的乘客做好准备。 - 感谢您体验\'蘑菇车联\'无人驾驶小巴车,请您携带好随身物品,我们下次再见。 - 已到达%1$s,带好随身物品,下车请注意安全。 + 感谢您体验\'蘑菇车联\'自动驾驶小巴车,请您携带好随身物品,我们下次再见。 + diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/voice/VoiceNotice.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/voice/VoiceNotice.kt new file mode 100644 index 0000000000..f57f4c3648 --- /dev/null +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/voice/VoiceNotice.kt @@ -0,0 +1,39 @@ +package com.mogo.och.common.module.voice + +import com.mogo.commons.AbsMogoApplication +import com.mogo.commons.voice.AIAssist +import com.mogo.eagle.core.utilcode.util.UiThreadHandler + +object VoiceNotice { + @JvmStatic + fun showNotice(notice: String?) { + showNotice(notice, AIAssist.LEVEL0) + } + + @JvmStatic + fun showNotice(notice: String?, level: Int) { + showNotice(notice,level,0) + } + + @JvmStatic + fun showNotice(notice: String?, delayed: Long) { + showNotice(notice, AIAssist.LEVEL0, delayed) + } + + @JvmStatic + fun showNotice(notice: String?, level: Int, delayed: Long = 0) { + notice?.let { + if (delayed == 0L) { + UiThreadHandler.post { + AIAssist.getInstance(AbsMogoApplication.getApp()) + .speakTTSVoiceWithLevel(it, level) + } + } else { + UiThreadHandler.postDelayed({ + AIAssist.getInstance(AbsMogoApplication.getApp()) + .speakTTSVoiceWithLevel(it, level) + }, delayed) + } + } + } +} \ No newline at end of file diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java index 46d9eaa448..0d204d7ac5 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java @@ -332,12 +332,6 @@ public abstract class BaseTaxiTabFragment { - AIAssist.getInstance(getContext()).speakTTSVoice(notice); - }); - } - /** * 改变自动驾驶状态 * diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/CommonBeingServerdOrdersFragment.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/CommonBeingServerdOrdersFragment.java index f24ff75f77..d114e87532 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/CommonBeingServerdOrdersFragment.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/CommonBeingServerdOrdersFragment.java @@ -34,6 +34,7 @@ import com.mogo.och.common.module.map.ICommonNaviChangedCallback; import com.mogo.och.common.module.utils.DateTimeUtil; import com.mogo.och.common.module.utils.NumberFormatUtil; import com.mogo.och.common.module.utils.OCHThreadPoolManager; +import com.mogo.och.common.module.voice.VoiceNotice; import com.mogo.och.taxi.constant.TaxiConst; import com.mogo.och.taxi.constant.TaxiOrderStatusEnum; import com.mogo.och.taxi.R; @@ -400,7 +401,7 @@ public class CommonBeingServerdOrdersFragment extends BaseTaxiUIFragment } mDistanceAndTime2.setText(Html.fromHtml(strHtml2)); if (isFirstStartAutopilotDone){ - showNotice(String.format(getResources() + VoiceNotice.showNotice(String.format(getResources() .getString(R.string.module_och_taxi_order_server_start_auto_tip), dis,disUnit,min)); isFirstStartAutopilotDone = false; @@ -411,7 +412,7 @@ public class CommonBeingServerdOrdersFragment extends BaseTaxiUIFragment private void speekVoice200mTipsOnce() { mTtsLessThan200Tip = 1; - showNotice(getResources().getString(R.string.module_och_taxi_order_arrive_end_200m_tip)); + VoiceNotice.showNotice(getResources().getString(R.string.module_och_taxi_order_arrive_end_200m_tip)); } public void onCurrentOrderRouteInfoGot(OrderQueryRouteInfoRespBean.Result routeInfo) {// 单位 米, 秒 @@ -449,7 +450,7 @@ public class CommonBeingServerdOrdersFragment extends BaseTaxiUIFragment mTaxiFragment.confirmAutopilotConditionByDriver(); }else if (TaxiOrderStatusEnum.ArriveAtEnd.getCode() == mCurrentOrder.orderStatus) {//点击了完成服务,结束订单并更新订单信息 mTaxiFragment.completeOrderService(); - showNotice(getResources().getString(R.string.module_och_taxi_order_server_completed_tip)); + //VoiceNotice.showNotice(getResources().getString(R.string.module_och_taxi_order_server_completed_tip)); } } @@ -471,7 +472,7 @@ public class CommonBeingServerdOrdersFragment extends BaseTaxiUIFragment switch (ochStatus) { case OnTheWayToStart: mOrderCancel.setVisibility(View.VISIBLE); - showNotice(mActivity.getString(R.string.module_och_taxi_new_order)); + VoiceNotice.showNotice(mActivity.getString(R.string.module_och_taxi_new_order)); mTtsLessThan200Tip = 0; isFirstStartAutopilotDone = true; double orderStartStationLat = order.startSiteGcjPoint.get(1); @@ -485,7 +486,7 @@ public class CommonBeingServerdOrdersFragment extends BaseTaxiUIFragment mTtsLessThan200Tip = 0; isFirstStartAutopilotDone = true; mOrderCancel.setVisibility(View.VISIBLE); - showNotice(mActivity.getString(R.string.module_och_taxi_order_cancel)); + //VoiceNotice.showNotice(mActivity.getString(R.string.module_och_taxi_order_cancel)); showOrHideNavi(false); setOrRemoveMapMaker(false, TaxiConst.TAXI_START_MAP_MAKER,order.startSitePoint,R.raw.star_marker); setOrRemoveMapMaker(false, TaxiConst.TAXI_END_MAP_MAKER,order.endSitePoint,R.raw.end_marker); @@ -497,9 +498,9 @@ public class CommonBeingServerdOrdersFragment extends BaseTaxiUIFragment isFirstStartAutopilotDone = true; mOrderCancel.setVisibility(View.VISIBLE); if (TaxiOrderStatusEnum.UserArriveAtStart.getCode() == ochStatus.getCode()){ - showNotice(mActivity.getString(R.string.module_och_taxi_order_status_ph_text_check_success)); + VoiceNotice.showNotice(mActivity.getString(R.string.module_och_taxi_order_status_ph_text_check_success)); }else { - showNotice(mActivity.getString(R.string.module_och_taxi_order_status_ph_text)); + VoiceNotice.showNotice(mActivity.getString(R.string.module_och_taxi_order_status_ph_text)); } showOrHideNavi(false); setOrRemoveMapMaker(true, TaxiConst.TAXI_START_MAP_MAKER,order.startSitePoint,R.raw.star_marker); @@ -520,7 +521,7 @@ public class CommonBeingServerdOrdersFragment extends BaseTaxiUIFragment case ArriveAtEnd: mTtsLessThan200Tip = 0; mOrderCancel.setVisibility(View.GONE); - showNotice(mActivity.getString(R.string.module_och_taxi_order_auto_arrive_end_tip)); + VoiceNotice.showNotice(mActivity.getString(R.string.module_och_taxi_order_auto_arrive_end_tip)); showOrHideNavi(false); setOrRemoveMapMaker(false, TaxiConst.TAXI_START_MAP_MAKER,order.startSitePoint,R.raw.star_marker); setOrRemoveMapMaker(false, TaxiConst.TAXI_END_MAP_MAKER,order.endSitePoint,R.raw.end_marker); @@ -531,7 +532,7 @@ public class CommonBeingServerdOrdersFragment extends BaseTaxiUIFragment mTtsLessThan200Tip = 0; isFirstStartAutopilotDone = true; mOrderCancel.setVisibility(View.GONE); - showNotice("感谢您使用蘑菇智行,再见~"); + VoiceNotice.showNotice("感谢您使用蘑菇智行,再见~"); showOrHideNavi(false); break; } @@ -646,12 +647,6 @@ public class CommonBeingServerdOrdersFragment extends BaseTaxiUIFragment }); } - public void showNotice(String notice) { - mActivity.runOnUiThread(() -> { - AIAssist.getInstance(getContext()).speakTTSVoice(notice); - }); - } - @Override public void onCurrentNaviDistAndTimeChanged(int meters, long timeInSecond) { updateDistanceAndTime(meters, timeInSecond); diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiGrabOrderFragment.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiGrabOrderFragment.java index 88a4c527a3..46b36f9bd9 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiGrabOrderFragment.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiGrabOrderFragment.java @@ -12,6 +12,7 @@ import androidx.constraintlayout.widget.ConstraintLayout; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; import com.mogo.och.common.module.utils.DateTimeUtil; +import com.mogo.och.common.module.voice.VoiceNotice; import com.mogo.och.taxi.R; import com.mogo.och.taxi.bean.OrderQueryRespBean; @@ -93,11 +94,11 @@ public class TaxiGrabOrderFragment extends BaseTaxiUIFragment implements View.On Calendar calendar = DateTimeUtil.formatLongToCalendar(order.bookingTime); if (DateTimeUtil.compareDateIsCurrentDay(calendar)){ mOrderReserverTime.setText("用车时间:今天 "+ DateTimeUtil.formatCalendarToString(calendar, DateTimeUtil.TAXI_HH_mm)); - getOchTaxiFragment().showNotice("预约单,今天"+ DateTimeUtil.formatCalendarToString(calendar, DateTimeUtil.TAXI_HH_mm)+"从" + VoiceNotice.showNotice("预约单,今天"+ DateTimeUtil.formatCalendarToString(calendar, DateTimeUtil.TAXI_HH_mm)+"从" +order.startSiteAddr+"到"+order.endSiteAddr); }else { mOrderReserverTime.setText("用车时间:"+ DateTimeUtil.formatCalendarToString(calendar, DateTimeUtil.TAXI_MM_dd_HH_mm)); - getOchTaxiFragment().showNotice("预约单,"+ DateTimeUtil.formatCalendarToString(calendar, DateTimeUtil.TAXI_MM_dd)+"从" + VoiceNotice.showNotice("预约单,"+ DateTimeUtil.formatCalendarToString(calendar, DateTimeUtil.TAXI_MM_dd)+"从" +order.startSiteAddr+"到"+order.endSiteAddr); } mOrderStartStation.setText(order.startSiteAddr); @@ -139,7 +140,7 @@ public class TaxiGrabOrderFragment extends BaseTaxiUIFragment implements View.On // 接单成功,语音播报“抢单成功,请合理安排后续行程接送乘客” // 接单未成功,语音播报“接单失败,请继续接单” public void onGrabOrderSuccess(){//抢单成功,更新btn 和 动画 语音 - getOchTaxiFragment().showNotice("抢单成功,请合理安排后续行程接送乘客"); + VoiceNotice.showNotice("抢单成功,请合理安排后续行程接送乘客"); mGrabResultAnimView.setVisibility(View.VISIBLE); mGrabResultAnimView.setImageDrawable(getResources().getDrawable(R.drawable.grab_success_anmi_flow)); mOrderGrabBt.setClickable(false); @@ -165,7 +166,7 @@ public class TaxiGrabOrderFragment extends BaseTaxiUIFragment implements View.On //开启动画结束的监听 } public void onGrabOrderFailed(){//抢单失败,更新btn 和 动画 语音 - getOchTaxiFragment().showNotice("接单失败,请继续接单"); + VoiceNotice.showNotice("接单失败,请继续接单"); mGrabResultAnimView.setVisibility(View.VISIBLE); mGrabResultAnimView.setImageDrawable(getResources().getDrawable(R.drawable.grab_failure_anmi_flow)); mOrderGrabBt.setClickable(false); diff --git a/OCH/mogo-och-taxi/src/main/res/values/strings.xml b/OCH/mogo-och-taxi/src/main/res/values/strings.xml index ba114d72bd..543b62e926 100644 --- a/OCH/mogo-och-taxi/src/main/res/values/strings.xml +++ b/OCH/mogo-och-taxi/src/main/res/values/strings.xml @@ -2,8 +2,6 @@ 确认上车,行程开始 到达站点,乘客已下车 - 已到达上车站点,等待乘客上车 - 乘客验证成功,请开始行程 预计里程 3.2 km 请携带好随身物品,注意侧后\n方来车,感谢体验蘑菇智行自\n动驾驶车! @@ -11,10 +9,8 @@ 送乘客至目的地 等待乘客上车 乘客已上车 - 前往乘客上车地点 已到达乘客下车点 订单已完成 - 订单已取消 请选择取消订单的理由 出现异常情况时,可选择原因无责取消订单: 确认 @@ -25,13 +21,22 @@ 等待乘客开始行程 请等待乘客启动自动驾驶,或您自行启动 服务完成 - 车辆已停稳,请携带好随身物品,下车请注意安全 - 您好,本次自动驾驶体验里程共%1$s%2$s,预计需要%3$d分钟,我们即将出发。出于安全考虑,建议您尽量不要与安全员交谈,后排落座,并系好安全带 - 即将到达目的地,请拿好随身物品,准备下车 - 您好,我们已到达目的地,本次体验结束。车辆停稳,请带好随身物品,谨防遗漏。感谢您的乘坐 + 自动驾驶状态为0不可用 司机端未确认可以开启自动驾驶 网络异常,请稍后重试 请求出现异常,请稍后重试 + + + + 乘客验证成功,请开始行程 + 已到达上车站点,等待乘客上车 + 前往乘客上车地点 + 订单已取消 + 车辆已停稳,请携带好随身物品,下车请注意安全 + 您好,本次行程共%1$s%2$s,预计需要%3$d分钟,我们即将出发。出于安全考虑,建议您尽量不要与安全员交谈,后排落座,并系好安全带 + 即将到达目的地,请拿好随身物品,准备下车 + 您好,我们已到达目的地,本次体验结束。车辆停稳,请带好随身物品,谨防遗漏。感谢您的乘坐 + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-chat/src/main/java/com/mogo/eagle/core/function/chat/facade/voice/VoiceControlFacade.kt b/core/function-impl/mogo-core-function-chat/src/main/java/com/mogo/eagle/core/function/chat/facade/voice/VoiceControlFacade.kt index 31797c30b6..957641ded4 100644 --- a/core/function-impl/mogo-core-function-chat/src/main/java/com/mogo/eagle/core/function/chat/facade/voice/VoiceControlFacade.kt +++ b/core/function-impl/mogo-core-function-chat/src/main/java/com/mogo/eagle/core/function/chat/facade/voice/VoiceControlFacade.kt @@ -54,7 +54,7 @@ object VoiceControlFacade: IMoGoVoiceControlFacade, IMogoVoiceCmdCallBack, IMogo override fun speak(context: Context, content: String, listener: IMoGoVoiceCallback) { listeners += WeakReference(listener) - AIAssist.getInstance(context).speakTTSVoice(content, this) + AIAssist.getInstance(context).speakTTSVoiceWithLevel(content,AIAssist.LEVEL3 ,this) } override fun onCmdSelected(cmd: String?) { diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt index 7b615a4a4c..f481c97c58 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt @@ -862,7 +862,7 @@ class MoGoHmiFragment : MvpFragment(), it.invokeOnCancellation { AIAssist.getInstance(ctx).stopSpeakTts(text) } - AIAssist.getInstance(ctx).speakTTSVoice(text, voiceCallback) + AIAssist.getInstance(ctx).speakTTSVoiceWithLevel(text, AIAssist.LEVEL2,voiceCallback) } catch (t: Throwable) { it.resumeWith(Result.success(Unit)) CallerLogger.d("$M_HMI$TAG", t.message) diff --git a/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/viewmodel/PushViewModel.kt b/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/viewmodel/PushViewModel.kt index cc31fa7c6d..8d880b21cf 100644 --- a/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/viewmodel/PushViewModel.kt +++ b/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/viewmodel/PushViewModel.kt @@ -55,7 +55,7 @@ class PushViewModel( VOICE_ACTION_PUSH_MAIN -> { AnalyticsUtils.track(Config.NEWS_CARD_CLICK, "trigger_type", isClick) if (isClick == "2") { - mVoiceClient.speakTTSVoice("好的", voiceCmdCallback) + mVoiceClient.speakTTSVoiceWithLevel("好的",AIAssist.LEVEL1, voiceCmdCallback) } if (it.mainSchema.isNotEmpty()) { dealSchema(it.mainSchema, mContext) @@ -71,7 +71,7 @@ class PushViewModel( isClick, "btn_text", it.buttons[0].text ) if (isClick == "2") { - mVoiceClient.speakTTSVoice("好的", voiceCmdCallback) + mVoiceClient.speakTTSVoiceWithLevel("好的", AIAssist.LEVEL1,voiceCmdCallback) } if (it.buttons[0].action.isNotEmpty()) { dealSchema(it.buttons[0].action, mContext) @@ -87,7 +87,7 @@ class PushViewModel( isClick, "btn_text", it.buttons[1].text ) if (isClick == "2") { - mVoiceClient.speakTTSVoice("好的", voiceCmdCallback) + mVoiceClient.speakTTSVoiceWithLevel("好的",AIAssist.LEVEL1 ,voiceCmdCallback) } if (it.buttons[1].action.isNotEmpty()) { dealSchema(it.buttons[1].action, mContext) @@ -100,7 +100,7 @@ class PushViewModel( isClick ) if (isClick == "2") { - mVoiceClient.speakTTSVoice("好的", voiceCmdCallback) + mVoiceClient.speakTTSVoiceWithLevel("好的",AIAssist.LEVEL1, voiceCmdCallback) } } } @@ -170,7 +170,7 @@ class PushViewModel( } fun speakDefault(voice: String) { - mVoiceClient.speakTTSVoice(voice, voiceCmdCallback) + mVoiceClient.speakTTSVoiceWithLevel(voice,AIAssist.LEVEL3 ,voiceCmdCallback) } fun pauseAnimator(on: Boolean) { diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/utils/RoadConditionUtils.java b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/utils/RoadConditionUtils.java index 7f43127e4d..6327431ded 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/utils/RoadConditionUtils.java +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/utils/RoadConditionUtils.java @@ -34,7 +34,7 @@ public class RoadConditionUtils { * 显示Toast */ private static void showTip() { - AIAssist.getInstance(Utils.getApp()).speakTTSVoice("已反馈", null); + AIAssist.getInstance(Utils.getApp()).speakTTSVoiceWithLevel("已反馈", AIAssist.LEVEL2,null); TipToast.tip("已反馈"); } } diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/view/CarZegoLiveVideoView.java b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/view/CarZegoLiveVideoView.java index 5d2a5f61f4..bfb7a8f057 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/view/CarZegoLiveVideoView.java +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/view/CarZegoLiveVideoView.java @@ -126,7 +126,7 @@ public class CarZegoLiveVideoView extends RoundLayout { @Override public void onError(String errorMsg) { refreshStatusToListener(false); - AIAssist.getInstance(Utils.getApp()).speakTTSVoice("直播获取识败,可以对我说重试", null); + AIAssist.getInstance(Utils.getApp()).speakTTSVoiceWithLevel("直播获取识败,可以对我说重试", AIAssist.LEVEL3); stopLive(); mLoading.setVisibility(GONE); mClLoadError.setVisibility(VISIBLE); diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/view/V2XCrossRoadVideoView.java b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/view/V2XCrossRoadVideoView.java index 10b639a5e7..c59152eb02 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/view/V2XCrossRoadVideoView.java +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/view/V2XCrossRoadVideoView.java @@ -209,7 +209,7 @@ public class V2XCrossRoadVideoView extends RoundLayout { mClLoadError.setVisibility(GONE); } else if (event < 0) { refreshStatusToListener(false); - AIAssist.getInstance(Utils.getApp()).speakTTSVoice("直播获取识败,可以对我说重试", null); + AIAssist.getInstance(Utils.getApp()).speakTTSVoiceWithLevel("直播获取识败,可以对我说重试", AIAssist.LEVEL3); stopLive(); mLoading.setVisibility(GONE); mClLoadError.setVisibility(VISIBLE); diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/view/V2XLiveGSYVideoView.java b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/view/V2XLiveGSYVideoView.java index 61d23bb126..66e9597a30 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/view/V2XLiveGSYVideoView.java +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/view/V2XLiveGSYVideoView.java @@ -150,7 +150,7 @@ public class V2XLiveGSYVideoView extends RoundLayout { mLoading.setVisibility(GONE); mClLoadError.setVisibility(GONE); } else if (event < 0) { - AIAssist.getInstance(Utils.getApp()).speakTTSVoice("直播获取失败,可以对我说重试", null); + AIAssist.getInstance(Utils.getApp()).speakTTSVoiceWithLevel("直播获取失败,可以对我说重试", AIAssist.LEVEL3); stopLive(mCarLiveInfo); mLoading.setVisibility(GONE); mClLoadError.setVisibility(VISIBLE); diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/voice/AIAssist.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/voice/AIAssist.java index 74d0fc2ec7..1cf0660cf4 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/voice/AIAssist.java +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/voice/AIAssist.java @@ -20,6 +20,11 @@ public class AIAssist { private static volatile AIAssist sInstance; + public static final int LEVEL0 = 3;//P0 + public static final int LEVEL1 = 2;//P1 + public static final int LEVEL2 = 1;//P2 + public static final int LEVEL3 = 0;//P3 + private IMogoTTS mTTS; public static AIAssist getInstance(Context context) { diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/enums/EventTypeEnum.kt b/modules/mogo-module-common/src/main/java/com/mogo/module/common/enums/EventTypeEnum.kt index 2f9a527d69..e8fc0afb0d 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/enums/EventTypeEnum.kt +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/enums/EventTypeEnum.kt @@ -29,13 +29,13 @@ enum class EventTypeEnum( //施工 FOURS_ROAD_WORK( "10006", "道路施工", "前方施工", R.drawable.icon_warning_v2x_road_construction, - "前方施工", "道路施工" + "前方施工", "前方施工" ), //施工-AI云下发 AI_ROAD_WORK( "100061", "道路施工", "前方施工", R.drawable.icon_warning_v2x_road_construction, - "前方施工", "道路施工" + "前方施工", "前方施工" ), //拥堵