From 09b0dc3d232e295367130c06129dd34852e6ddec Mon Sep 17 00:00:00 2001 From: lxm <1274844347@qq.com> Date: Tue, 5 Aug 2025 11:57:00 +0800 Subject: [PATCH] =?UTF-8?q?fix(azure=5Fspeech):=20=E6=81=A2=E5=A4=8D?= =?UTF-8?q?=E9=9F=B3=E9=A2=91=E6=95=B0=E6=8D=AE=E5=9B=9E=E8=B0=83=E5=B9=B6?= =?UTF-8?q?=E6=B3=A8=E9=87=8AASR=E7=9B=B8=E5=85=B3=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复AzureAsrHelper中音频数据回调被注释的问题,同时临时注释MeetingRecordController中ASR相关代码以进行调试 --- .../meeting_record_controller.dart | 25 ++++++++++--------- .../azure_speech/AzureAsrHelper.kt | 7 +++--- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/lib/modules/meeting/controllers/meeting_record_controller.dart b/lib/modules/meeting/controllers/meeting_record_controller.dart index 8cd767ee0..0d27de8b7 100644 --- a/lib/modules/meeting/controllers/meeting_record_controller.dart +++ b/lib/modules/meeting/controllers/meeting_record_controller.dart @@ -90,7 +90,7 @@ class MeetingRecordController extends GetxController Future _reinitializeAsrService() async { try { // 重新初始化ASR服务 - await _asrService.initialize(); + // await _asrService.initialize(); Logger.info('ASR服务重新初始化成功'); } catch (e) { @@ -163,7 +163,7 @@ class MeetingRecordController extends GetxController _bleManager.closeCodec(); } _asrService.stopRecord(true); - _asrService.stopContinuousRecognition(); + //_asrService.stopContinuousRecognition(); isRecording.value = false; } @@ -196,12 +196,12 @@ class MeetingRecordController extends GetxController /// Toggles visibility of transcribed text content Future toggleTextDisplay() async { - final recognitionStream = await _asrService.recognizeCallback(); - _recognitionSubscription?.cancel(); - _recognitionSubscription = - recognitionStream.listen(_handleRecognitionEvent); + // final recognitionStream = await _asrService.recognizeCallback(); + // _recognitionSubscription?.cancel(); + // _recognitionSubscription = + // recognitionStream.listen(_handleRecognitionEvent); - await _asrService.startContinuousRecognition(_audioSourceType); + //await _asrService.startContinuousRecognition(_audioSourceType); showTextContent.toggle(); } @@ -242,8 +242,8 @@ class MeetingRecordController extends GetxController /// Starts recording session Future _startRecording() async { // Initialize speech recognition - final recognitionStream = - await _asrService.startContinuousRecognition(_audioSourceType); + // final recognitionStream = + // await _asrService.startContinuousRecognition(_audioSourceType); // Prepare storage directory final appDir = await appDocDir; @@ -284,14 +284,14 @@ class MeetingRecordController extends GetxController /// Pauses current recording session Future _pauseRecording() async { - await _asrService.stopContinuousRecognition(); + // await _asrService.stopContinuousRecognition(); await _asrService.pauseRecord(); pauseTimer(); } /// Resumes paused recording session Future _resumeRecording() async { - await _asrService.startContinuousRecognition(_audioSourceType); + //await _asrService.startContinuousRecognition(_audioSourceType); startTimer(); } @@ -303,6 +303,7 @@ class MeetingRecordController extends GetxController intermediateContent.value = event.text; break; case RecognitionEventType.onAudio: + print("音波数据:${event.audio!.length}"); // 添加新音频数据到波形 _processAudioData(event.audio!); break; @@ -461,7 +462,7 @@ class MeetingRecordController extends GetxController } } - await _asrService.stopContinuousRecognition(); + //await _asrService.stopContinuousRecognition(); _resetToDefaultState(); isRecording.value = false; } diff --git a/local_plugins/azure_speech/android/src/main/kotlin/com/yunqiinnovation/azure_speech/AzureAsrHelper.kt b/local_plugins/azure_speech/android/src/main/kotlin/com/yunqiinnovation/azure_speech/AzureAsrHelper.kt index 02d909d4a..ff5ba4ca1 100644 --- a/local_plugins/azure_speech/android/src/main/kotlin/com/yunqiinnovation/azure_speech/AzureAsrHelper.kt +++ b/local_plugins/azure_speech/android/src/main/kotlin/com/yunqiinnovation/azure_speech/AzureAsrHelper.kt @@ -717,7 +717,7 @@ class AzureAsrHelper(private val context: Context) { if (bytesToWrite < data.size) data.copyOf(bytesToWrite) else data try { - //continuousCallback?.onAudio(finalData) + continuousCallback?.onAudio(finalData) pushAudioStream?.write(finalData) recordfile?.saveAudioDataToWav(finalData) } catch (e: Exception) { @@ -922,6 +922,7 @@ class AzureAsrHelper(private val context: Context) { fun onError(error: String) } + /** * 连续识别回调接口 */ @@ -953,9 +954,9 @@ class AzureAsrHelper(private val context: Context) { fun onSessionStopped() /** - * 返回音频 + * 返回音频数据 * - * @param data 识别的音频 + * @param data 音频字节数组 */ fun onAudio(data: ByteArray)