[fea]
[tts 仅烟台需要中英韩]
This commit is contained in:
yangyakun
2024-07-12 15:32:42 +08:00
parent fda80a27d1
commit d45e72eeb8
9 changed files with 41 additions and 8 deletions

View File

@@ -30,7 +30,7 @@ object BusVoiceManager {
)
val engTTS = LangTtsEntity(
context.getString(R.string.bus_arrived_station_english_tip, it),
LanguageType.CHINESE
LanguageType.ENGLISH
)
val koreanTTS = LangTtsEntity(
context.getString(R.string.bus_arrived_station_korean_tip, siteNameKR?:it),
@@ -54,7 +54,7 @@ object BusVoiceManager {
)
val engTTS = LangTtsEntity(
context.getString(R.string.bus_leave_station_english_tip, it),
LanguageType.CHINESE
LanguageType.ENGLISH
)
list.add(chineseTTS)
list.add(engTTS)

View File

@@ -21,7 +21,7 @@ object CharterVoiceManager {
)
val engTTS = LangTtsEntity(
contenxt.getString(R.string.charter_arrived_station_en, it),
LanguageType.CHINESE
LanguageType.ENGLISH
)
val koreanTTS = LangTtsEntity(
contenxt.getString(R.string.charter_arrived_station_ko, siteNameKR?:it),
@@ -45,7 +45,7 @@ object CharterVoiceManager {
)
val engTTS = LangTtsEntity(
contenxt.getString(R.string.charter_leave_station_en, it),
LanguageType.CHINESE
LanguageType.ENGLISH
)
list.add(chineseTTS)
list.add(engTTS)

View File

@@ -18,6 +18,7 @@ import com.mogo.och.common.module.manager.socket.cloud.OCHSocketMessageManager
import com.mogo.och.common.module.manager.socket.lan.bean.AppConnectMsg
import com.mogo.och.common.module.manager.socket.lan.bean.BaseDPMsg
import com.mogo.och.common.module.utils.DateTimeUtil
import com.mogo.och.common.module.voice.VoiceNotice
object LanSocketManager : LanSocketManagerJava() {
@@ -89,7 +90,7 @@ object LanSocketManager : LanSocketManagerJava() {
.build()
mAudioManager.requestAudioFocus(mAudioFocusRequest) //抢占焦点
AIAssist.getInstance(mContext)
VoiceNotice
.speakTTSVoiceWithLevel(msg, AIAssist.LEVEL0, object : IMogoVoiceCmdCallBack {
override fun onSpeakEnd(speakText: String?) {
mAudioManager.abandonAudioFocusRequest(mAudioFocusRequest)

View File

@@ -2,13 +2,19 @@ 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.util.UiThreadHandler
import com.mogo.och.common.module.manager.audiofocus.AudioFocusManager
import com.mogo.tts.base.IMogoTTSCallback
import com.mogo.tts.base.LangTtsEntity
import com.mogo.tts.base.LanguageType
import com.mogo.tts.base.MultiLangTtsEntity
object VoiceNotice {
const val onlyChinese = 1 //中文
const val chineseEnglishKorean = 1 shl 1 // 左移一位 中英韩
@JvmStatic
fun showNotice(notice: String?) {
showNotice(notice, AIAssist.LEVEL0)
@@ -59,11 +65,27 @@ object VoiceNotice {
@JvmStatic
fun showNotice(listTTS: MutableList<LangTtsEntity>, level: Int,callBack: IMogoTTSCallback?=null) {
if(FunctionBuildConfig.ttsLanguage and onlyChinese>0){
val tempList = mutableListOf<LangTtsEntity>()
listTTS.forEach {
if(it.language != LanguageType.CHINESE){
tempList.add(it)
}
}
listTTS.removeAll(tempList)
}
AIAssist.getInstance(AbsMogoApplication.getApp())
.speakMultiLangTTSWithLevel(MultiLangTtsEntity(listTTS), level,callCallBack(callBack))
}
fun speakTTSVoiceWithLevel(text:String, level:Int, callBack:IMogoTTSCallback){
AIAssist.getInstance(AbsMogoApplication.getApp()).speakTTSVoiceWithLevel(text,level,callBack)
}
private fun callCallBack(callBack: IMogoTTSCallback?):IMogoTTSCallback{
return object :IMogoTTSCallback{
override fun onSpeakStart(speakText: String?) {

View File

@@ -22,7 +22,7 @@ object ShuttleVoiceManager {
)
val engTTS = LangTtsEntity(
context.getString(R.string.bus_arrived_station_english_tip, it),
LanguageType.CHINESE
LanguageType.ENGLISH
)
val koreanTTS = LangTtsEntity(
context.getString(R.string.bus_arrived_station_korean_tip, siteNameKR?:it),
@@ -46,7 +46,7 @@ object ShuttleVoiceManager {
)
val engTTS = LangTtsEntity(
context.getString(R.string.bus_leave_station_english_tip, it),
LanguageType.CHINESE
LanguageType.ENGLISH
)
list.add(chineseTTS)
list.add(engTTS)

View File

@@ -44,6 +44,7 @@ import com.mogo.och.common.module.manager.socket.lan.bean.BusinessType
import com.mogo.och.common.module.manager.socket.lan.bean.DPMsgType
import com.mogo.och.common.module.manager.socket.lan.bean.TaskDetailsMsg
import com.mogo.och.common.module.utils.DateTimeUtil
import com.mogo.och.common.module.voice.VoiceNotice
import com.mogo.och.common.module.voice.VoiceNotice.showNotice
import com.mogo.och.data.bean.BusRoutesResult
import com.mogo.och.data.bean.BusStationBean
@@ -246,7 +247,7 @@ class PM2DrivingModel private constructor() {
.build()
mAudioManager.requestAudioFocus(mAudioFocusRequest) //抢占焦点
AIAssist.getInstance(mContext).speakTTSVoiceWithLevel(msg,AIAssist.LEVEL0,object : IMogoVoiceCmdCallBack{
VoiceNotice.speakTTSVoiceWithLevel(msg,AIAssist.LEVEL0,object : IMogoVoiceCmdCallBack{
override fun onSpeakEnd(speakText: String?) {
mAudioManager.abandonAudioFocusRequest(mAudioFocusRequest)
}

View File

@@ -5,6 +5,7 @@ project.android.productFlavors {
mogo {
dimension "project"
buildConfigField 'boolean', 'secure', "true"
buildConfigField 'int', 'ttsLanguage', "1" // 仅中文
buildConfigField 'String', 'URLs', "\"${readFileToJson("mogo").replace("\"", "\\\"")}\""
buildConfigField 'String', 'mediaUrlConfig', "\"${readMediaUrlConfigFromJsonFile("mogo").replace("\"", "\\\"")}\""
buildConfigField 'String', 'musicUrlConfig', "\"${readMusicUrlConfigFromJsonFile("mogo").replace("\"", "\\\"")}\""
@@ -13,6 +14,7 @@ project.android.productFlavors {
yantai {
dimension "project"
buildConfigField 'boolean', 'secure', "false"
buildConfigField 'int', 'ttsLanguage', "1 << 1" // 中英韩
buildConfigField 'String', 'URLs', "\"${readFileToJson("yantai").replace("\"", "\\\"")}\""
buildConfigField 'String', 'mediaUrlConfig', "\"${readMediaUrlConfigFromJsonFile("yantai").replace("\"", "\\\"")}\""
buildConfigField 'String', 'musicUrlConfig', "\"${readMusicUrlConfigFromJsonFile("yantai").replace("\"", "\\\"")}\""
@@ -22,6 +24,7 @@ project.android.productFlavors {
dali {
dimension "project"
buildConfigField 'boolean', 'secure', "true"
buildConfigField 'int', 'ttsLanguage', "1" // 仅中文
buildConfigField 'String', 'URLs', "\"${readFileToJson("dali").replace("\"", "\\\"")}\""
buildConfigField 'String', 'mediaUrlConfig', "\"${readMediaUrlConfigFromJsonFile("dali").replace("\"", "\\\"")}\""
buildConfigField 'String', 'musicUrlConfig', "\"${readMusicUrlConfigFromJsonFile("dali").replace("\"", "\\\"")}\""
@@ -30,6 +33,7 @@ project.android.productFlavors {
saas {
dimension "project"
buildConfigField 'boolean', 'secure', "true"
buildConfigField 'int', 'ttsLanguage', "1" // 仅中文
buildConfigField 'String', 'URLs', "\"${readFileToJson("saas").replace("\"", "\\\"")}\""
buildConfigField 'String', 'mediaUrlConfig', "\"${readMediaUrlConfigFromJsonFile("saas").replace("\"", "\\\"")}\""
buildConfigField 'String', 'musicUrlConfig', "\"${readMusicUrlConfigFromJsonFile("saas").replace("\"", "\\\"")}\""

View File

@@ -44,6 +44,7 @@ object ConfigStartUp {
FunctionBuildConfig.isDemoMode = BuildConfig.IS_DEMO_MODE
// app安装的身份信息
FunctionBuildConfig.appIdentityMode = "Product_${BuildConfig.APP_IDENTITY_MODE_BODY}_${BuildConfig.APP_IDENTITY_MODE_TAIL}"
FunctionBuildConfig.ttsLanguage = BuildConfig.ttsLanguage
// 支持的业务类型
if(!StringUtils.isEmpty(BuildConfig.supportBusiness)&&BuildConfig.supportBusiness!="null"){
FunctionBuildConfig.supportBusiness = GsonUtils.fromJson(BuildConfig.supportBusiness, object : TypeToken<MutableList<String>>() {}.type)

View File

@@ -119,6 +119,10 @@ object FunctionBuildConfig {
@JvmField
var appIdentityMode = "Taxi_Driver_Base"
@Volatile
@JvmField
var ttsLanguage = 1
@Volatile
@JvmField