🎉 live server seems to be working now

This commit is contained in:
2026-05-14 14:29:57 +02:00
commit d72e439fd9
181 changed files with 47406 additions and 0 deletions

View File

@@ -0,0 +1,101 @@
# Basic Server Example
This example demonstrates how to create a simple Sendspin streaming server that broadcasts a test tone to connected players.
## What it does
- Creates a Sendspin server that streams a 440Hz test tone
- Listens for WebSocket connections from players
- Broadcasts synchronized audio to all connected clients
- Supports mDNS service advertisement for easy discovery
- Handles multiple clients with different codec preferences
## Building
```bash
cd examples/basic-server
go build
```
## Running
Start server with defaults (192kHz/24-bit stereo):
```bash
./basic-server
```
Start on a different port:
```bash
./basic-server -port 9000
```
Configure sample rate and channels:
```bash
./basic-server -rate 48000 -channels 2
```
Disable mDNS:
```bash
./basic-server -mdns=false
```
## Command-line options
- `-port` - Server port (default: 8927)
- `-name` - Server name (default: "Basic Server")
- `-rate` - Sample rate in Hz (default: 192000)
- `-channels` - Number of channels (default: 2)
- `-mdns` - Enable mDNS advertisement (default: true)
## Key features demonstrated
1. **Simple setup** - Just create a source and start the server
2. **Test tone generation** - Built-in test tone for easy testing
3. **Automatic client handling** - Clients are managed automatically
4. **Multi-codec support** - Automatically negotiates best codec per client
5. **mDNS discovery** - Clients can find the server automatically
## Code highlights
```go
// Create audio source (440Hz test tone)
source := sendspin.NewTestTone(192000, 2)
// Create and start server
config := sendspin.ServerConfig{
Port: 8927,
Name: "My Server",
Source: source,
EnableMDNS: true,
}
server, _ := sendspin.NewServer(config)
server.Start()
```
## Testing
Start the server:
```bash
./basic-server
```
In another terminal, connect a player:
```bash
cd ../..
go run . -server localhost:8927
```
You should hear a 440Hz tone (A4 note) playing.
## Next steps
- See `examples/custom-source/` for implementing custom audio sources (files, streams, etc.)
- Check out the server CLI (`cmd/sendspin-server/`) for a full-featured server with TUI
- Modify the test tone frequency or add multiple frequencies for testing