mirror of
https://github.com/TheJordanDev/PEAK-JordanMod.git
synced 2026-10-17 08:05:25 +02:00
Lets a live microphone be streamed through BingBong from a relay rather than over PEAK's Photon servers. This is the in-game client only: it connects over a WebSocket, decodes the audio and plays it. The relay and the web app that captures the microphone are not built yet, so the feature does nothing on its own. Playback uses OnAudioFilterRead rather than a streaming AudioClip. A clip created with stream:true fills Unity's decode buffer ahead of playback, and that read-ahead cannot be satisfied from a live stream because the audio has not arrived yet -- the buffer drained to empty on a cycle no matter how deep it was made, which was audible as constant clicking. The filter callback runs in lockstep with playback, so demand can never outrun real time. Includes tools/stub_relay.py, a development stub speaking the same wire format, so the client can be tested end to end without the real backend, a microphone or a browser. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>