Browse Source

优化按住说话反应慢的问题

weicu
fdp 1 year ago
parent
commit
60b3a0ba08
  1. 2
      lib/modules/agent/views/agent_view.dart
  2. 5
      local_plugins/azure_speech/android/src/main/kotlin/com/yunqiinnovation/azure_speech/tools/SimpleAudioReceiver.kt

2
lib/modules/agent/views/agent_view.dart

@ -576,7 +576,7 @@ class _AgentViewState extends State<AgentView> with WidgetsBindingObserver {
onPointerDown: (_) { onPointerDown: (_) {
// 设置300ms延迟防止误触 // 设置300ms延迟防止误触
_holdTimer = Timer( _holdTimer = Timer(
const Duration(milliseconds: 200), const Duration(milliseconds: 100),
() { () {
controller.startPushToTalk(); controller.startPushToTalk();
// if (activeSpeaker == 0) { // if (activeSpeaker == 0) {

5
local_plugins/azure_speech/android/src/main/kotlin/com/yunqiinnovation/azure_speech/tools/SimpleAudioReceiver.kt

@ -237,7 +237,6 @@ class SimpleAudioReceiver(private val context: Context) {
try { try {
// 首先设置通话音频模式 // 首先设置通话音频模式
setupCommunicationAudioMode() setupCommunicationAudioMode()
val supportedSampleRates = intArrayOf(16000, 8000, 11025, 22050, 44100) val supportedSampleRates = intArrayOf(16000, 8000, 11025, 22050, 44100)
val sampleRate = supportedSampleRates.firstOrNull { rate -> val sampleRate = supportedSampleRates.firstOrNull { rate ->
val bufferSize = AudioRecord.getMinBufferSize(rate, channelConfig, audioFormat) val bufferSize = AudioRecord.getMinBufferSize(rate, channelConfig, audioFormat)
@ -309,7 +308,7 @@ class SimpleAudioReceiver(private val context: Context) {
try { try {
isWriting.set(true) isWriting.set(true)
// 首先设置通话音频模式 // 首先设置通话音频模式
setupCommunicationAudioMode() //setupCommunicationAudioMode()
// 停止录音 // 停止录音
audioRecord?.startRecording() audioRecord?.startRecording()
@ -329,7 +328,7 @@ class SimpleAudioReceiver(private val context: Context) {
// 停止录音 // 停止录音
audioRecord?.stop() audioRecord?.stop()
// 恢复音频模式 // 恢复音频模式 这里会导致关闭麦克风卡住待优化
restoreCommunicationAudioMode() restoreCommunicationAudioMode()
} catch (e: Exception) { } catch (e: Exception) {

Loading…
Cancel
Save