From 2b415e499f7541b5ef193c038ae0da4d2591524e Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Tue, 14 Apr 2020 17:08:24 +0800 Subject: [PATCH] opt --- .../com/mogo/utils/tts/AndroidTTSPlayer.java | 80 +++++++++++++++++++ .../java/com/mogo/utils/tts/TTSPlayer.java | 14 ++++ .../map/impl/amap/AMapNaviViewWrapper.java | 2 - .../mogo/map/impl/amap/navi/NaviClient.java | 7 +- .../impl/amap/navi/NaviListenerAdapter.java | 4 - .../gps/simulator/WebSocketManager.java | 2 +- 6 files changed, 96 insertions(+), 13 deletions(-) create mode 100644 foudations/mogo-utils/src/main/java/com/mogo/utils/tts/AndroidTTSPlayer.java create mode 100644 foudations/mogo-utils/src/main/java/com/mogo/utils/tts/TTSPlayer.java diff --git a/foudations/mogo-utils/src/main/java/com/mogo/utils/tts/AndroidTTSPlayer.java b/foudations/mogo-utils/src/main/java/com/mogo/utils/tts/AndroidTTSPlayer.java new file mode 100644 index 0000000000..eff9a24b2e --- /dev/null +++ b/foudations/mogo-utils/src/main/java/com/mogo/utils/tts/AndroidTTSPlayer.java @@ -0,0 +1,80 @@ +package com.mogo.utils.tts; + +import android.content.Context; +import android.media.AudioManager; +import android.os.Bundle; +import android.speech.tts.TextToSpeech; +import android.speech.tts.UtteranceProgressListener; + +import java.util.Locale; + +/** + * @author congtaowang + * @since 2020-04-14 + *

+ * 描述 + */ +public class AndroidTTSPlayer extends UtteranceProgressListener implements TTSPlayer, TextToSpeech.OnInitListener { + + + private TextToSpeech mTtsEngine; + private Context mContext; + private boolean mIsSuccess = false; + private Bundle mParams; + + /** + * {@link TextToSpeech.Engine#KEY_PARAM_STREAM}, + * {@link TextToSpeech.Engine#KEY_PARAM_VOLUME}, + * {@link TextToSpeech.Engine#KEY_PARAM_PAN}. + * + * @param context + */ + public AndroidTTSPlayer( Context context ) { + mContext = context.getApplicationContext(); + mTtsEngine = new TextToSpeech( mContext, this ); + mParams = new Bundle(); + mParams.putInt( TextToSpeech.Engine.KEY_PARAM_STREAM, AudioManager.STREAM_ALARM ); + mParams.putInt( TextToSpeech.Engine.KEY_PARAM_STREAM, AudioManager.STREAM_ALARM ); + } + + @Override + public void stop() { + if ( mTtsEngine != null ) { + mTtsEngine.stop(); + } + } + + @Override + public void speakTTS( String text ) { +// mTtsEngine.speak() + } + + @Override + public void onInit( int status ) { + if ( status == TextToSpeech.SUCCESS ) { + int result = mTtsEngine.setLanguage( Locale.CHINA ); + mTtsEngine.setPitch( 1.0f );// 设置音调,值越大声音越尖(女生),值越小则变成男声,1.0是常规 + mTtsEngine.setSpeechRate( 1.0f ); + mTtsEngine.setOnUtteranceProgressListener( this ); + if ( result != TextToSpeech.LANG_MISSING_DATA || result != TextToSpeech.LANG_NOT_SUPPORTED ) { + //系统支持中文播报 + mIsSuccess = true; + } + } + } + + @Override + public void onStart( String utteranceId ) { + + } + + @Override + public void onDone( String utteranceId ) { + + } + + @Override + public void onError( String utteranceId ) { + + } +} diff --git a/foudations/mogo-utils/src/main/java/com/mogo/utils/tts/TTSPlayer.java b/foudations/mogo-utils/src/main/java/com/mogo/utils/tts/TTSPlayer.java new file mode 100644 index 0000000000..b5cca2881e --- /dev/null +++ b/foudations/mogo-utils/src/main/java/com/mogo/utils/tts/TTSPlayer.java @@ -0,0 +1,14 @@ +package com.mogo.utils.tts; + +/** + * @author congtaowang + * @since 2020-04-14 + *

+ * 描述 + */ +public interface TTSPlayer { + + void stop(); + + void speakTTS( String text ); +} diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java index 5a4f3b130e..99ccd4db65 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java @@ -633,8 +633,6 @@ public class AMapNaviViewWrapper implements IMogoMapView, if ( checkAMapView() ) { mMapView.setCarOverlayVisible( false ); showMyLocation( true ); - NaviClient.getInstance( getContext() ).startAimlessMode(); - } } diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java index 3d543e47a4..5d6afc5cfe 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java @@ -59,7 +59,7 @@ public class NaviClient implements IMogoNavi { private NaviClient( Context context ) { mAMapNavi = AMapNavi.getInstance( context ); mAMapNavi.setEmulatorNaviSpeed( 120 ); - mAMapNavi.setUseInnerVoice( true, true ); + mAMapNavi.setUseInnerVoice( false, true ); mAMapNaviListener = new NaviListenerAdapter( context, mAMapNavi, this ); mAimlessModeListener = new AimlessModeListenerAdapter() { }; @@ -142,8 +142,6 @@ public class NaviClient implements IMogoNavi { if ( mAMapNaviListener != null ) { mAMapNaviListener.stopNavi(); } - // 开启巡航 巡航时返回电子眼和特殊道路设施信息 -// mAMapNavi.startAimlessMode( AimLessMode.CAMERA_AND_SPECIALROAD_DETECTED ); } @@ -152,9 +150,6 @@ public class NaviClient implements IMogoNavi { if ( mAMapNaviListener.isStopped() ) { return; } - // 关闭巡航 - //mAMapNavi.stopAimlessMode(); - stopAimlessMode(); mIsRealNavi = isRealNavi; boolean isNaving = isNaviing(); diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviListenerAdapter.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviListenerAdapter.java index 183eb2315d..dfd56d70de 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviListenerAdapter.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviListenerAdapter.java @@ -95,7 +95,6 @@ public class NaviListenerAdapter extends AMapNaviListenerAdapter { @Override public void onInitNaviSuccess() { MogoNaviListenerHandler.getInstance().onInitNaviSuccess(); - mAMapNavi.startAimlessMode( AimLessMode.CAMERA_AND_SPECIALROAD_DETECTED ); } @Override @@ -163,9 +162,6 @@ public class NaviListenerAdapter extends AMapNaviListenerAdapter { if ( type != NaviType.CRUISE ) { setStopped( false ); setNaviing( true ); - if ( mAMapNavi != null ) { - mAMapNavi.startSpeak(); - } MogoNaviListenerHandler.getInstance().onStartNavi(); AMapMessageManager.getInstance().postNaviStarted(); } diff --git a/modules/mogo-module-gps-simulator-debug/src/main/java/com/mogo/module/gps/simulator/WebSocketManager.java b/modules/mogo-module-gps-simulator-debug/src/main/java/com/mogo/module/gps/simulator/WebSocketManager.java index 1197fd19f1..a0d21778b6 100644 --- a/modules/mogo-module-gps-simulator-debug/src/main/java/com/mogo/module/gps/simulator/WebSocketManager.java +++ b/modules/mogo-module-gps-simulator-debug/src/main/java/com/mogo/module/gps/simulator/WebSocketManager.java @@ -112,7 +112,7 @@ public class WebSocketManager { mNavi.setUseExtraGPSData( true ); mService.execute( () -> { try { - mClient.reconnectBlocking(); + mClient.connectBlocking(); Logger.d( TAG, "connectBlocking done." ); } catch ( Exception e ) { Logger.e( TAG, e, "error." );