func (hub *Hub) streamStep() { r, err := os.Open(hub.track) defer r.Close() if err != nil { log.Println(err) return } d := mp3.NewDecoder(r) var f mp3.Frame for { if err := d.Decode(&f); err != nil { log.Println(err) return } b := make([]byte, f.Size()) f.Reader().Read(b) hub.SendMessage(b) time.Sleep(f.Duration()) } }