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 8fc25365a..630abbdf3 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 @@ -547,19 +547,20 @@ class AzureAsrHelper(private val context: Context) { Log.e(tag, "启动录音前台服务失败: ${e.message}") } } - - // Initialize if not already done - if (!audioStream.isInitialized()) { - audioStream.initAudioRecord() - } - audioStream.setupStream() if (audioStream.recordfile == null) { audioStream.recordfile = RecordFile() } - + if (!audioStream.isContinuousRecognitionActive) { // 启动音频处理 Log.i(tag, "开启录音:audioSourceType${audioSourceType}") + // Initialize if not already done + if (!audioStream.isInitialized()) { + audioStream.initAudioRecord() + } + audioStream.setupStream() + + audioStream.startAudioRecord( when (audioSourceType) { AudioSourceType.MICROPHONE -> SimpleAudioReceiver.AudioSourceType.MICROPHONE AudioSourceType.EXTERNAL -> SimpleAudioReceiver.AudioSourceType.EXTERNAL @@ -635,7 +636,7 @@ class AzureAsrHelper(private val context: Context) { } Log.i(tag, "关闭录音:") audioStream.recordfile ?: return - + if (!audioStream.isContinuousRecognitionActive) { audioStream.stopMicrophoneCapture()