didvan-app/VOICE_CHAT_DEBUG.md

47 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Voice Chat Debug Guide
## مشکل: هیچ صدایی از Gemini پخش نمی‌شود
### چک لیست دیباگ:
1. **بررسی اتصال Socket:**
- آیا لاگ "✅ Socket Connected" را می‌بینید؟
- آیا لاگ "📨 Received gemini_audio_chunk event" را می‌بینید؟
- آیا لاگ "📥 Received audio chunk: X bytes" را می‌بینید؟
2. **بررسی ارسال صدا:**
- آیا لاگ "📤 Sent X audio chunks" را می‌بینید؟
- آیا حتماً صحبت می‌کنید تا VAD فعال شود؟
3. **بررسی پخش:**
- آیا لاگ "🎬 Starting audio playback..." را می‌بینید؟
- آیا لاگ "🔊 Audio player started - feeding stream..." را می‌بینید؟
- آیا لاگ "🎵 Fed X bytes to player" را می‌بینید؟
4. **بررسی کد سرور:**
- آیا سرور event به نام `gemini_audio_chunk` emit می‌کند؟
- آیا دیتا به صورت base64 ارسال می‌شود؟
### تست‌های پیشنهادی:
```dart
// تست 1: چاپ تمام eventهای socket
_socket!.onAny((event, data) {
debugPrint('🔔 Socket Event: $event');
});
// تست 2: بررسی فرمت دیتای دریافتی
debugPrint('📥 Received audio chunk: ${bytes.length} bytes');
// تست 3: بررسی پخش
debugPrint('🎵 Fed ${chunkToPlay.length} bytes to player');
```
### راه‌حل‌های احتمالی:
1. ✅ استفاده از `startPlayerFromStream` و `feedFromStream`
2. ✅ حلقه پیوسته برای پخش (مشابه کد JS)
3. ✅ Log تمام eventها برای دیباگ
4. ⚠️ بررسی Sample Rate (باید 24000Hz باشد)
5. ⚠️ بررسی Codec (باید PCM16 باشد)