新增进入独立app 语音播报

This commit is contained in:
zhuangyan
2020-11-17 19:59:38 +08:00
parent 9e8515c0f4
commit c241d77989
5 changed files with 45 additions and 54 deletions

View File

@@ -336,7 +336,6 @@ public class MogoServices implements IMogoMapListener,
playAppTts();
//
} else {
unregisterInternalUnWakeupWords();
@@ -391,20 +390,7 @@ public class MogoServices implements IMogoMapListener,
if (DebugConfig.isLauncher()) {
return;
}
mTtsModle.playTts(new RefreshCallback<TtsConfigEntity>() {
@Override
public void onSuccess(TtsConfigEntity o) {
if (!TextUtils.isEmpty(o.getTtsWord())) {
AIAssist.getInstance(mContext).speakTTSVoice(o.getTtsWord(), null);
}
}
@Override
public void onFail() {
Log.e(TAG, "获取Tts失败");
}
});
mTtsModle.playTts();
}
/**

View File

@@ -8,13 +8,25 @@ import com.mogo.commons.data.BaseData;
* @desc :分体机tts播报信息返回
*/
public class TtsConfigEntity extends BaseData {
private String ttsWord;
public Result result;
public String getTtsWord() {
return ttsWord;
public Result getResult() {
return result;
}
public void setTtsWord(String ttsWord) {
this.ttsWord = ttsWord;
public void setResult(Result result) {
this.result = result;
}
public static class Result {
private String word;
public String getWord() {
return word;
}
public void setWord(String word) {
this.word = word;
}
}
}

View File

@@ -8,6 +8,7 @@ import java.util.Map;
import io.reactivex.Observable;
import retrofit2.http.FieldMap;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;
/**
@@ -20,7 +21,6 @@ public interface TtsConfigApiService {
* 查询语音Tts 的
*
*/
@FormUrlEncoded
@POST("/yycp-tmcServer/tmcServer/car/reportTraffic/v1")
Observable<TtsConfigEntity> inquireForTts(@FieldMap Map<String, Object> parames);
@GET("/yycp-carDataService/car/ttsWord/no/getTTSWord/v1")
Observable<TtsConfigEntity> inquireForTts();
}

View File

@@ -1,22 +1,17 @@
package com.mogo.module.service.ttsConfig;
import android.text.TextUtils;
import android.util.Log;
import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.commons.data.BaseData;
import com.mogo.commons.network.ParamsProvider;
import com.mogo.commons.network.SubscribeImpl;
import com.mogo.commons.network.Utils;
import com.mogo.module.service.network.RefreshCallback;
import com.mogo.commons.voice.AIAssist;
import com.mogo.module.service.network.RefreshModel;
import com.mogo.module.service.network.bean.TtsConfigEntity;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.network.IMogoNetwork;
import com.mogo.utils.logger.Logger;
import com.mogo.utils.network.RequestOptions;
import java.util.Map;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
@@ -36,34 +31,37 @@ public class TtsConfigModleData {
IMogoNetwork network = (IMogoNetwork) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICES_NETWORK).navigation(getApp().getApplicationContext());
mTtsConfigApiService = network.create(TtsConfigApiService.class, RefreshModel.getNetHost());
}
/**
* 独立app根据后台配置 播放tts
* @param
*
* @param
* @param
* @param
*/
public void playTts(RefreshCallback<TtsConfigEntity> ttsCallback) {
public void playTts() {
final ParamsProvider.Builder builder = new ParamsProvider.Builder( getApp().getApplicationContext());
Map<String, Object> parameters = builder.build();
parameters.put("sn", Utils.getSn());
Log.d("zytest","playTts获取语音配置的网络请求");
// parameters.put("data", GsonUtil.jsonFromObject(uploadTrafficEntity));
mTtsConfigApiService.inquireForTts(parameters)
Log.d("zytest", "playTts获取语音配置的网络请求");
mTtsConfigApiService.inquireForTts()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<TtsConfigEntity>(RequestOptions.create( getApp().getApplicationContext())) {
.subscribe(new SubscribeImpl<TtsConfigEntity>(RequestOptions.create(getApp().getApplicationContext())) {
@Override
public void onError(Throwable e) {
super.onError(e);
Log.e("zytest", e.toString());
ttsCallback.onFail();
}
@Override
public void onSuccess(TtsConfigEntity o) {
super.onSuccess(o);
ttsCallback.onSuccess(o);
Log.e("zytest", "播放语音了====" + o.getResult().getWord());
if (!TextUtils.isEmpty( o.getResult().getWord())) {
AIAssist.getInstance(getApp().getApplicationContext()).speakTTSVoice( o.getResult().getWord());
}
}
});

View File

@@ -1,10 +1,12 @@
package com.mogo.module.service.ttsConfig;
import android.content.Context;
import android.text.TextUtils;
import android.util.Log;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.android.arouter.facade.template.IProvider;
import com.mogo.commons.voice.AIAssist;
import com.mogo.module.service.ServiceConst;
import com.mogo.module.service.network.RefreshCallback;
import com.mogo.module.service.network.bean.TtsConfigEntity;
@@ -14,26 +16,19 @@ import com.mogo.module.service.network.bean.TtsConfigEntity;
* @date : 2020/11/16 15:01
* @desc :进入页面的时候 根据配置 播放tts语音
*/
@Route( path = ServiceConst.PATH_TTS_CONFIG )
@Route(path = ServiceConst.PATH_TTS_CONFIG)
public class TtsConfigProvider implements IProvider {
private final String TAG = "TtsConfigProvider";
private Context mContext;
private TtsConfigModleData mTtsModleData;
@Override
public void init(Context context) {
mContext = context;
Log.d(TAG, "TtsConfigProvider provider init……");
if (mTtsModleData==null) {
mTtsModleData=new TtsConfigModleData();
if (mTtsModleData == null) {
mTtsModleData = new TtsConfigModleData();
}
mTtsModleData.playTts(new RefreshCallback<TtsConfigEntity>() {
@Override
public void onSuccess(TtsConfigEntity o) {
}
@Override
public void onFail() {
}
});
mTtsModleData.playTts();
}
}