Thanks — I understand you’ve connected your Python agent to the LiveKit room but can’t talk to it from your RN Expo frontend (emulator or Expo Go). Below are the most likely causes and clear steps to get a working test quickly.
Quick checklist (do these first)
• Confirm your Python agent and the Expo client use the same room URL and a valid token for that room.
• Make sure the agent is actually joined and publishing/subscribing audio in logs (no auth/connection errors).
Device / Expo Go specific steps
• Real device (recommended): Install Expo Go on your phone, open the project, and allow microphone access when prompted. Use the phone microphone to speak — this is the most reliable test.
• Expo Go on iOS: Tap the screen after the app loads to allow audio playback. Accept the iOS microphone permission prompt.
• Expo Go on Android: Grant microphone permission in system Settings → Apps → Expo Go → Permissions → Microphone if prompts don’t appear.
Emulator considerations
• Emulators often have limited or no mic capture for WebRTC. If you must use an emulator:
◦ Android emulator: enable microphone input in the emulator settings and ensure the host machine has a working mic.
◦ iOS Simulator: audio input is generally not supported; use a real iOS device instead.
Verify audio flows in the room
• Join the room with two endpoints (e.g., agent on laptop, Expo Go on phone). If each can hear the other, the room setup is correct.
• Check that the agent subscribes to the client’s published audio track and publishes its reply track back to the room.
• Look for errors in both client and agent logs about track publication, subscription, or codec mismatches.
Permissions & user gestures
• Ensure microphone permission is granted on the device.
• On iOS, user interaction (tap) may be required to start audio playback in Expo Go.
Network & token tips
• Ensure no firewall/NGROK issues block the agent or client from reaching the LiveKit server.
• Confirm token expiration — create a fresh token if needed.
If you still can’t hear the agent, tell me:
• Which platform you’re testing on (Android emulator, iOS device, Android device).
• Any console/log errors from the Expo app or your Python agent.
• Whether the agent shows as “connected” and publishing audio in its logs.
I’ll use those details to give targeted next steps.
Sources:
Live Conversations with AI using ChatGPT and WebRTC |
Virtual avatar plugins | LiveKit Docs |
LiveKit coming to React Native! |
Web and mobile frontends | LiveKit docs