package soundbox_test import ( "context" "log" "net" "time" "xengineering.eu/soundbox" ) func ExampleStreamURLContext() { ctx, cancel := context.WithCancel(context.Background()) // all soundboxes are referenced by their MAC address soundboxes := []net.HardwareAddr{ {0x00, 0x00, 0x5E, 0x00, 0x53, 0x01}, {0x00, 0x00, 0x5E, 0x00, 0x53, 0x02}, {0x00, 0x00, 0x5E, 0x00, 0x53, 0x03}, } // currently only web radio is supported url := "https://example.org/radio.mp3" // start streaming go func() { err := soundbox.StreamURLContext(ctx, url, soundboxes) if err != nil { log.Fatal(err) } }() // let it play for some time time.Sleep(time.Minute) // stop it cancel() }