|
|
|
|
|
by freemanjiang
408 days ago
|
|
Great question! There's two steps: First, I do clock synchronization with a central server so that all clients can agree on a time reference. Then, instead of directly manipulating the hardware audio ring buffers (which browsers don't allow), I use the Web Audio API's scheduling system to play audio in the future at a specific start time, on all devices. So a central server relays messages from clients, telling them when to start and which sample position in the buffer to start from. |
|