Browse Source

fix(azure_speech): 恢复音频数据回调并注释ASR相关代码

修复AzureAsrHelper中音频数据回调被注释的问题,同时临时注释MeetingRecordController中ASR相关代码以进行调试
newdev_shunjiawei
lxm 1 year ago
parent
commit
09b0dc3d23
  1. 25
      lib/modules/meeting/controllers/meeting_record_controller.dart
  2. 7
      local_plugins/azure_speech/android/src/main/kotlin/com/yunqiinnovation/azure_speech/AzureAsrHelper.kt

25
lib/modules/meeting/controllers/meeting_record_controller.dart

@ -90,7 +90,7 @@ class MeetingRecordController extends GetxController
Future<void> _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<void> 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<void> _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<void> _pauseRecording() async {
await _asrService.stopContinuousRecognition();
// await _asrService.stopContinuousRecognition();
await _asrService.pauseRecord();
pauseTimer();
}
/// Resumes paused recording session
Future<void> _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;
}

7
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)

Loading…
Cancel
Save