Spaces:
Running
Running
Update flare-ui/src/app/services/conversation-manager.service.ts
Browse files
flare-ui/src/app/services/conversation-manager.service.ts
CHANGED
@@ -113,7 +113,7 @@ export class ConversationManagerService implements OnDestroy {
|
|
113 |
continuous_listening: true
|
114 |
});
|
115 |
|
116 |
-
console.log('✅ Conversation started
|
117 |
|
118 |
} catch (error: any) {
|
119 |
console.error('Failed to start conversation:', error);
|
@@ -365,35 +365,35 @@ export class ConversationManagerService implements OnDestroy {
|
|
365 |
if (!this.audioPlayer) return;
|
366 |
|
367 |
this.audioPlayer.onended = async () => {
|
368 |
-
console.log('🎵 Audio playback ended'
|
|
|
|
|
|
|
|
|
369 |
|
370 |
-
// TTS bittiğinde audio recording'i restart et
|
371 |
try {
|
372 |
// Önce backend'e audio bittiğini bildir
|
373 |
if (this.wsService.isConnected()) {
|
|
|
374 |
this.wsService.sendControl('audio_ended');
|
375 |
}
|
376 |
|
377 |
-
//
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
// Zaten recording varsa, önce durdur
|
386 |
-
this.audioService.stopRecording();
|
387 |
-
await new Promise(resolve => setTimeout(resolve, 500));
|
388 |
-
}
|
389 |
-
|
390 |
-
// Recording başlat
|
391 |
await this.audioService.startRecording();
|
392 |
-
console.log('✅ Audio recording started successfully');
|
|
|
|
|
393 |
}
|
394 |
|
395 |
} catch (error) {
|
396 |
-
console.error('❌ Failed to
|
397 |
this.handleAudioError(error);
|
398 |
}
|
399 |
};
|
|
|
113 |
continuous_listening: true
|
114 |
});
|
115 |
|
116 |
+
console.log('✅ [ConversationManager] Conversation started - waiting for welcome TTS');
|
117 |
|
118 |
} catch (error: any) {
|
119 |
console.error('Failed to start conversation:', error);
|
|
|
365 |
if (!this.audioPlayer) return;
|
366 |
|
367 |
this.audioPlayer.onended = async () => {
|
368 |
+
console.log('🎵 [ConversationManager] Audio playback ended', {
|
369 |
+
currentState: this.currentStateSubject.value,
|
370 |
+
isRecording: this.audioService.isRecording(),
|
371 |
+
timestamp: new Date().toISOString()
|
372 |
+
});
|
373 |
|
|
|
374 |
try {
|
375 |
// Önce backend'e audio bittiğini bildir
|
376 |
if (this.wsService.isConnected()) {
|
377 |
+
console.log('📤 [ConversationManager] Sending audio_ended to backend');
|
378 |
this.wsService.sendControl('audio_ended');
|
379 |
}
|
380 |
|
381 |
+
// Backend'in STT'yi restart etmesini bekle
|
382 |
+
console.log('⏳ [ConversationManager] Waiting for backend STT restart...');
|
383 |
+
await new Promise(resolve => setTimeout(resolve, 1000)); // 1 saniye bekle
|
384 |
+
|
385 |
+
// Şimdi audio recording'i başlat
|
386 |
+
console.log('🔄 [ConversationManager] Starting audio recording after delay...');
|
387 |
+
|
388 |
+
if (!this.audioService.isRecording()) {
|
|
|
|
|
|
|
|
|
|
|
|
|
389 |
await this.audioService.startRecording();
|
390 |
+
console.log('✅ [ConversationManager] Audio recording started successfully');
|
391 |
+
} else {
|
392 |
+
console.warn('⚠️ [ConversationManager] Audio already recording, skipping');
|
393 |
}
|
394 |
|
395 |
} catch (error) {
|
396 |
+
console.error('❌ [ConversationManager] Failed to handle audio end:', error);
|
397 |
this.handleAudioError(error);
|
398 |
}
|
399 |
};
|