Merge branch 'feature/v1.0.4' of gitlab.zhidaoauto.com:ecos/yycp-service/Launcher into feature/v1.0.4

This commit is contained in:
wangcongtao
2020-04-20 15:54:46 +08:00
7 changed files with 92 additions and 31 deletions

2
.idea/misc.xml generated
View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="JDK" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
</project>

View File

@@ -48,6 +48,8 @@ ext {
fresco : 'com.facebook.fresco:fresco:1.1.0',
// 公司服务 - 语音
aiassist : "com.zhidaoauto.common:service:1.0.4.10",
// 语音替换方案 暂时只用TTS 解决焦点问题
aiassistReplace : "com.zhidao.mogoVoicesdk:voice:1.0.4",
// 公司服务 - 埋点
analytics : "com.elegant.analytics:analytics:1.1.19",

View File

@@ -37,6 +37,7 @@ android {
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
api rootProject.ext.dependencies.aiassist
api rootProject.ext.dependencies.aiassistReplace
api rootProject.ext.dependencies.androidxappcompat
api rootProject.ext.dependencies.analytics
implementation rootProject.ext.dependencies.arouter

View File

@@ -8,6 +8,10 @@ import android.text.TextUtils;
import com.mogo.utils.logger.Logger;
import com.zhidao.auto.platform.voice.VoiceClient;
import com.zhidao.voicesdk.MogoVoiceManager;
import com.zhidao.voicesdk.MogoVoiceManagerImpl;
import com.zhidao.voicesdk.callback.OnConnStatusListener;
import com.zhidao.voicesdk.callback.OnTtsListener;
import java.util.ArrayList;
import java.util.HashMap;
@@ -22,13 +26,14 @@ import java.util.concurrent.ConcurrentHashMap;
* <p>
* 语音助手通信助手
*/
public class AIAssist implements VoiceClient.VoiceCmdCallBack {
public class AIAssist implements VoiceClient.VoiceCmdCallBack , OnTtsListener {
private static final String TAG = "AIAssist";
private static volatile AIAssist sInstance;
private String mLastQAndASpeakText;
private boolean mHasFlush = false;
private boolean mInitReady = false;
public static AIAssist getInstance( Context context ) {
if ( sInstance == null ) {
@@ -56,6 +61,7 @@ public class AIAssist implements VoiceClient.VoiceCmdCallBack {
}
private final VoiceClient mVoiceClient;
private MogoVoiceManager mogoVoiceManager;
// 免唤醒指令
private Map< String, List< IMogoVoiceCmdCallBack > > mCmdMap = new HashMap<>();
// 问答指令
@@ -70,7 +76,7 @@ public class AIAssist implements VoiceClient.VoiceCmdCallBack {
mVoiceClient = new VoiceClient( context.getApplicationContext() );
mVoiceClient.setCallBack( this );
initFlushStatus( context );
initSpeech( context );
Logger.w( TAG, "voice is ready = %s", mHasFlush );
}
@@ -78,6 +84,24 @@ public class AIAssist implements VoiceClient.VoiceCmdCallBack {
mHasFlush = isVoiceServiceReady( context );
}
/**
* 初始化
*/
private void initSpeech( Context context ){
mogoVoiceManager = MogoVoiceManagerImpl.getInstance();
mogoVoiceManager.init(context, new OnConnStatusListener() {
@Override
public void onSuccess() {
mInitReady = true;
}
@Override
public void onFailed() {
}
});
}
/**
* 是否语音注册成功
* @return
@@ -185,7 +209,6 @@ public class AIAssist implements VoiceClient.VoiceCmdCallBack {
}
}
/**
* 语音播报
*
@@ -402,4 +425,36 @@ public class AIAssist implements VoiceClient.VoiceCmdCallBack {
return false;
}
public void speakTTSAndDuck(String text ){
speakTTSAndDuck(text,null);
}
public void speakTTSAndDuck( String text, IMogoVoiceCmdCallBack callBack ){
try {
if( mInitReady ){
mSpeakVoiceMap.put( text, callBack );
mogoVoiceManager.toSpeak( text, -3, this);
}
} catch ( Exception e ) {
}
}
@Override
public void onTtsStart(String ext) {
}
@Override
public void onTtsFinish(String speakText) {
IMogoVoiceCmdCallBack callBack = mSpeakVoiceMap.remove( speakText );
if ( callBack != null ) {
callBack.onSpeakEnd( speakText );
}
}
@Override
public void onTtsError(String ext) {
}
}

View File

@@ -27,29 +27,30 @@ PASSWORD=xintai2018
RELEASE=false
# 模块版本
## 工程内模块
MOGO_COMMONS_VERSION=1.0.3.3
MOGO_UTILS_VERSION=1.0.3.3
MAP_AMAP_VERSION=1.0.3.4
MOGO_MAP_VERSION=1.0.3.4
MOGO_MAP_API_VERSION=1.0.3.4
MOGO_SERVICE_VERSION=1.0.3.5
MOGO_SERVICE_API_VERSION=1.0.3.5
MOGO_CONNECTION_VERSION=1.0.3.4
MOGO_MODULE_APPS_VERSION=1.0.3.4
MOGO_MODULE_NAVI_VERSION=1.0.3.4
MOGO_MODULE_SHARE_VERSION=1.0.3.4
MOGO_MODULE_COMMON_VERSION=1.0.3.4
MOGO_MODULE_MAIN_VERSION=1.0.3.4
MOGO_MODULE_MAP_VERSION=1.0.3.4
MOGO_MODULE_SERVICE_VERSION=1.0.3.4
MOGO_MODULE_EXTENSIONS_VERSION=1.0.3.5
MOGO_MODULE_SEARCH_VERSION=1.0.3.4
MOGO_MODULE_BACK_VERSION=1.0.3.4
MOGO_MODULE_GPS_SIMULATOR_VERSION=1.0.3.4
MOGO_MODULE_GPS_SIMULATOR_DEBUG_VERSION=1.0.3.4
MOGO_MODULE_GPS_SIMULATOR_NOOP_VERSION=1.0.3.4
MOGO_MODULE_AUTHORIZE_VERSION=1.0.3.4
MOGO_MODULE_GUIDE_VERSION=1.0.3.4
MOGO_COMMONS_VERSION=1.0.3.8
MOGO_UTILS_VERSION=1.0.3.8
MAP_AMAP_VERSION=1.0.3.8
MOGO_MAP_VERSION=1.0.3.8
MOGO_MAP_API_VERSION=1.0.3.8
MOGO_SERVICE_VERSION=1.0.3.8
MOGO_SERVICE_API_VERSION=1.0.3.8
MOGO_CONNECTION_VERSION=1.0.3.8
MOGO_MODULE_APPS_VERSION=1.0.3.8
MOGO_MODULE_NAVI_VERSION=1.0.3.8
MOGO_MODULE_SHARE_VERSION=1.0.3.8
MOGO_MODULE_COMMON_VERSION=1.0.3.8
MOGO_MODULE_MAIN_VERSION=1.0.3.8
MOGO_MODULE_MAP_VERSION=1.0.3.8
MOGO_MODULE_SERVICE_VERSION=1.0.3.8
MOGO_MODULE_EXTENSIONS_VERSION=1.0.3.8
MOGO_MODULE_SEARCH_VERSION=1.0.3.8
MOGO_MODULE_BACK_VERSION=1.0.3.8
MOGO_MODULE_GPS_SIMULATOR_VERSION=1.0.3.8
MOGO_MODULE_GPS_SIMULATOR_DEBUG_VERSION=1.0.3.8
MOGO_MODULE_GPS_SIMULATOR_NOOP_VERSION=1.0.3.8
MOGO_MODULE_AUTHORIZE_VERSION=1.0.3.8
MOGO_MODULE_GUIDE_VERSION=1.0.3.8
## 工程外部模块
# 探路
@@ -65,13 +66,12 @@ MOGO_MODULE_GUIDESHOW_PROVIDER_VERSION=1.0.2-SNAPSHOT
# 在线车辆F
MOGO_MODULE_ONLINECAR_VERSION=1.0.3.1
# v2x
MOGO_MODULE_V2X_VERSION=1.0.3.2
MOGO_MODULE_V2X_VERSION=1.0.3.3-SNAPSHOT
# 媒体卡片
MOGO_MODULE_MEDIA_VERSION=1.0.4
MOGO_MODULE_MEDIA_VERSION=1.0.4.1
# 推送
MOGO_MODULE_PUSH_VERSION=1.0.1
# 广告资源位
MOGO_MODULE_AD_CARD_VERSION=1.0.1
# 新鲜事
MOGO_MODULE_FRESH_NEWS_VERSION=1.0.3.2

View File

@@ -15,6 +15,8 @@ import com.amap.api.navi.model.AimLessModeCongestionInfo;
import com.amap.api.navi.model.AimLessModeStat;
import com.amap.api.navi.model.NaviInfo;
import com.autonavi.tbt.TrafficFacilityInfo;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.commons.voice.AIAssist;
import com.mogo.map.MogoLatLng;
import com.mogo.utils.logger.Logger;
import java.util.List;
@@ -64,6 +66,7 @@ public abstract class AMapNaviListenerAdapter implements AMapNaviListener {
public void onGetNavigationText( String s ) {
mLastSpeakWord = s;
Logger.d( TAG, s );
AIAssist.getInstance(AbsMogoApplication.getApp()).speakTTSAndDuck(s);
}
@Override

View File

@@ -78,7 +78,7 @@ public class NaviClient implements IMogoNavi {
mContext = 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() {
};