[tts时静音并暂停播放视频]
This commit is contained in:
yangyakun
2023-03-13 00:08:15 +08:00
parent 8f813d6f23
commit 5389d91f15
5 changed files with 88 additions and 19 deletions

View File

@@ -3,6 +3,7 @@ package com.mogo.och.bus.passenger.model
import android.annotation.SuppressLint
import android.content.Context
import android.net.ConnectivityManager
import android.os.Build
import com.mogo.commons.AbsMogoApplication
import com.mogo.commons.module.intent.IMogoIntentListener
import com.mogo.commons.module.intent.IntentManager
@@ -34,6 +35,7 @@ import com.mogo.och.bus.passenger.callback.IOrderChangeCallback
import com.mogo.och.bus.passenger.constant.BusPassengerConst.Companion.Charter_AVERAGE_SPEED
import com.mogo.och.bus.passenger.net.BusPassengerModelLoopManager
import com.mogo.och.bus.passenger.net.BusPassengerServiceManager
import com.mogo.och.bus.passenger.utils.VoiceFocusManager
import com.mogo.och.common.module.biz.common.socketmessage.OCHSocketMessageManager
import com.mogo.och.common.module.biz.constant.LoginStatusManager
import com.mogo.och.common.module.biz.constant.TaxiLoginStatusEnum
@@ -530,7 +532,11 @@ object CharterPassengerModel {
AbsMogoApplication.getApp()
.getString(R.string.m1_end_order_5min), 2
)
VoiceManager.surplus5min()
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
VoiceManager.surplus5min(VoiceFocusManager.getVoiceCmdCallBack())
}else{
VoiceManager.surplus5min()
}
broadcastList["${it}$min5Speak"] = true
}
}
@@ -726,7 +732,12 @@ object CharterPassengerModel {
mContext, lindId = it, object : OchCommonServiceCallback<BaseData> {
override fun onSuccess(data: BaseData?) {
if (null != data && 0 == data.code) {
VoiceManager.arrivedStation(orderInfo!!.siteName!!)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
VoiceManager.arrivedStation(orderInfo!!.siteName!!,
VoiceFocusManager.getVoiceCmdCallBack())
}else{
VoiceManager.arrivedStation(orderInfo!!.siteName!!,)
}
broadcastList["${it}$endKey"] = true
// 到站结束自驾
CallerAutoPilotControlManager.cancelAutoPilot()
@@ -744,7 +755,11 @@ object CharterPassengerModel {
fun leaveStation(){
orderInfo?.siteName?.let {
VoiceManager.leaveStation(it)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
VoiceManager.leaveStation(it,VoiceFocusManager.getVoiceCmdCallBack())
}else{
VoiceManager.leaveStation(it)
}
}
}

View File

@@ -1,13 +1,16 @@
package com.mogo.och.bus.passenger.ui
import android.graphics.BitmapFactory
import android.os.Build
import android.os.Bundle
import android.view.View
import androidx.fragment.app.DialogFragment
import androidx.fragment.app.Fragment
import com.amap.api.maps.model.LatLng
import com.mogo.commons.AbsMogoApplication
import com.mogo.commons.debug.DebugConfig
import com.mogo.commons.mvp.MvpFragment
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.data.config.HdMapBuildConfig
import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager
import com.mogo.eagle.core.function.hmi.ui.msgbox.MMsgBoxButtonView
@@ -22,6 +25,7 @@ import com.mogo.och.bus.passenger.R
import com.mogo.och.bus.passenger.model.CharterPassengerModel
import com.mogo.och.common.module.voice.VoiceManager
import com.mogo.och.bus.passenger.presenter.BusPassengerPresenter
import com.mogo.och.bus.passenger.utils.VoiceFocusManager
import com.mogo.och.common.module.biz.constant.LoginStatusManager
import kotlinx.android.synthetic.m1.m1_main_fragment.*
import java.lang.ref.WeakReference
@@ -77,11 +81,17 @@ class MainFragment :
}
}
ll_car_speed.onClick {
if (LoginStatusManager.isLogin()) {
VoiceManager.endOrder()
CharterPassengerModel.arriveDest()
}else{
ToastUtils.showShort(AbsMogoApplication.getApp().getString(R.string.m1_please_login_driver))
if (DebugConfig.isDebug()) {
if (LoginStatusManager.isLogin()) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
VoiceManager.endOrder(VoiceFocusManager.getVoiceCmdCallBack())
}else{
VoiceManager.endOrder()
}
CharterPassengerModel.arriveDest()
}else{
ToastUtils.showShort(AbsMogoApplication.getApp().getString(R.string.m1_please_login_driver))
}
}
}

View File

@@ -0,0 +1,30 @@
package com.mogo.och.bus.passenger.utils
import android.os.Build
import androidx.annotation.RequiresApi
import com.mogo.commons.voice.IMogoVoiceCmdCallBack
import com.shuyu.gsyvideoplayer.GSYVideoManager
object VoiceFocusManager {
@RequiresApi(Build.VERSION_CODES.O)
fun getVoiceCmdCallBack():IMogoVoiceCmdCallBack{
GSYVideoManager.onPause()
GSYVideoManager.instance().curPlayerManager.setNeedMute(true)
return object : IMogoVoiceCmdCallBack{
override fun onSpeakEnd(speakText: String?) {
GSYVideoManager.instance().curPlayerManager.setNeedMute(false)
GSYVideoManager.onResume()
}
override fun onSpeakError(speakText: String?, errorMsg: String?) {
GSYVideoManager.instance().curPlayerManager.setNeedMute(false)
}
override fun onSpeakSelectTimeOut(speakText: String?) {
GSYVideoManager.instance().curPlayerManager.setNeedMute(false)
}
}
}
}

View File

@@ -3,12 +3,17 @@ package com.mogo.och.common.module.voice
import com.mogo.commons.AbsMogoApplication
import com.mogo.commons.voice.AIAssist
import com.mogo.och.common.module.R
import com.mogo.tts.base.IMogoTTSCallback
import com.mogo.tts.base.LangTtsEntity
import com.mogo.tts.base.LanguageType
import java.util.ArrayList
object VoiceManager {
fun arrivedStation(siteName: String) {
arrivedStation(siteName,null)
}
fun arrivedStation(siteName: String,callBack: IMogoTTSCallback?=null) {
val contenxt = AbsMogoApplication.getApp()
val list: MutableList<LangTtsEntity> = ArrayList()
val chineseTTS = LangTtsEntity(
@@ -26,10 +31,12 @@ object VoiceManager {
list.add(chineseTTS)
list.add(engTTS)
list.add(koreanTTS)
VoiceNotice.showNotice(list, AIAssist.LEVEL1)
VoiceNotice.showNotice(list, AIAssist.LEVEL1,callBack)
}
fun leaveStation(siteName: String) {
fun leaveStation(siteName: String){
leaveStation(siteName,null)
}
fun leaveStation(siteName: String,callBack: IMogoTTSCallback?=null) {
val contenxt = AbsMogoApplication.getApp()
val list: MutableList<LangTtsEntity> = ArrayList()
val chineseTTS = LangTtsEntity(
@@ -47,10 +54,14 @@ object VoiceManager {
list.add(chineseTTS)
list.add(engTTS)
list.add(koreanTTS)
VoiceNotice.showNotice(list, AIAssist.LEVEL1)
VoiceNotice.showNotice(list, AIAssist.LEVEL1,callBack)
}
fun surplus5min() {
fun surplus5min(){
surplus5min(null)
}
fun surplus5min(callBack: IMogoTTSCallback?=null) {
val contenxt = AbsMogoApplication.getApp()
val list: MutableList<LangTtsEntity> = ArrayList()
val chineseTTS = LangTtsEntity(contenxt.getString(R.string.surplus5_order_zh), LanguageType.CHINESE)
@@ -59,10 +70,12 @@ object VoiceManager {
list.add(chineseTTS)
list.add(engTTS)
list.add(koreanTTS)
VoiceNotice.showNotice(list, AIAssist.LEVEL0)
VoiceNotice.showNotice(list, AIAssist.LEVEL0,callBack)
}
fun endOrder() {
fun endOrder(){
endOrder(null)
}
fun endOrder(callBack: IMogoTTSCallback?=null) {
val contenxt = AbsMogoApplication.getApp()
val list: MutableList<LangTtsEntity> = ArrayList()
val chineseTTS = LangTtsEntity(contenxt.getString(R.string.end_order_zh), LanguageType.CHINESE)
@@ -71,6 +84,6 @@ object VoiceManager {
list.add(chineseTTS)
list.add(engTTS)
list.add(koreanTTS)
VoiceNotice.showNotice(list, AIAssist.LEVEL0)
VoiceNotice.showNotice(list, AIAssist.LEVEL0,callBack)
}
}

View File

@@ -3,6 +3,7 @@ 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
import com.mogo.tts.base.IMogoTTSCallback
import com.mogo.tts.base.LangTtsEntity
import com.mogo.tts.base.MultiLangTtsEntity
@@ -50,8 +51,8 @@ object VoiceNotice {
}
@JvmStatic
fun showNotice(listTTS: MutableList<LangTtsEntity>, level: Int) {
fun showNotice(listTTS: MutableList<LangTtsEntity>, level: Int,callBack: IMogoTTSCallback?=null) {
AIAssist.getInstance(AbsMogoApplication.getApp())
.speakMultiLangTTSWithLevel(MultiLangTtsEntity(listTTS), level, null)
.speakMultiLangTTSWithLevel(MultiLangTtsEntity(listTTS), level, callBack)
}
}