47 lines
1.7 KiB
Markdown
47 lines
1.7 KiB
Markdown
# 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 باشد)
|