修复把唤醒播放提示也给录音进去的问题
This commit is contained in:
parent
2606d0144f
commit
6f65a48686
@ -85,11 +85,12 @@ class VoiceController(
|
|||||||
// 唤醒检测
|
// 唤醒检测
|
||||||
wakeupManager.acceptAudio(samples)
|
wakeupManager.acceptAudio(samples)
|
||||||
if (wakeupManager.consumeWakeupFlag()) {
|
if (wakeupManager.consumeWakeupFlag()) {
|
||||||
|
val preBufferSnapshot = preBuffer.toFloatArray()
|
||||||
handleWakeupEvent()
|
handleWakeupEvent()
|
||||||
// 注册唤醒用户特征
|
// 注册唤醒用户特征
|
||||||
CoroutineScope(Dispatchers.IO).launch {
|
CoroutineScope(Dispatchers.IO).launch {
|
||||||
VoiceUtils.registerWakeupUser(
|
VoiceUtils.registerWakeupUser(
|
||||||
preBuffer = preBuffer,
|
preBuffer = ArrayDeque(preBufferSnapshot.asList()), // 用快照创建新队列
|
||||||
extractor = speakerExtractor,
|
extractor = speakerExtractor,
|
||||||
manager = speakerManager
|
manager = speakerManager
|
||||||
)
|
)
|
||||||
@ -213,6 +214,7 @@ class VoiceController(
|
|||||||
if (stateManager.state == VoiceState.UPLOADING) return
|
if (stateManager.state == VoiceState.UPLOADING) return
|
||||||
stopBackendAudio?.invoke()
|
stopBackendAudio?.invoke()
|
||||||
stateManager.enterWakeup(interrupt = true, resetRealtimeStats = ::resetRealtimeStats)
|
stateManager.enterWakeup(interrupt = true, resetRealtimeStats = ::resetRealtimeStats)
|
||||||
|
preBuffer.clear()
|
||||||
onWakeup()
|
onWakeup()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -37,7 +37,6 @@ import com.zs.smarthuman.BuildConfig
|
|||||||
import com.zs.smarthuman.R
|
import com.zs.smarthuman.R
|
||||||
import com.zs.smarthuman.base.BaseActivity
|
import com.zs.smarthuman.base.BaseActivity
|
||||||
import com.zs.smarthuman.base.BaseViewModelActivity
|
import com.zs.smarthuman.base.BaseViewModelActivity
|
||||||
import com.zs.smarthuman.bean.AudioDTO
|
|
||||||
import com.zs.smarthuman.bean.NetworkStatusEventMsg
|
import com.zs.smarthuman.bean.NetworkStatusEventMsg
|
||||||
import com.zs.smarthuman.bean.UserInfoResp
|
import com.zs.smarthuman.bean.UserInfoResp
|
||||||
import com.zs.smarthuman.bean.VersionUpdateResp
|
import com.zs.smarthuman.bean.VersionUpdateResp
|
||||||
@ -191,10 +190,6 @@ class MainActivity : BaseViewModelActivity<ActivityMainBinding, MainViewModel>()
|
|||||||
voiceController = VoiceController(
|
voiceController = VoiceController(
|
||||||
assetManager = assets,
|
assetManager = assets,
|
||||||
onWakeup = {
|
onWakeup = {
|
||||||
//每次唤醒前都要把前面的音频停掉
|
|
||||||
if (backPlaying){
|
|
||||||
mViewModel?.pauseVoice()
|
|
||||||
}
|
|
||||||
UnityPlayerHolder.getInstance().cancelPCM()
|
UnityPlayerHolder.getInstance().cancelPCM()
|
||||||
UnityPlayerHolder.getInstance()
|
UnityPlayerHolder.getInstance()
|
||||||
.sendVoiceToUnity(
|
.sendVoiceToUnity(
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user