| // Copyright 2015 The Vanadium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| package sample |
| |
| // Speaker allows clients to control the music being played. |
| type Speaker interface { |
| // Play starts or continues the current song. |
| Play() error |
| // PlaySong plays back the given song title, if possible. |
| PlaySong(songName string) error |
| // PlayStream plays the given stream of music data. |
| PlayStream() stream<[]byte, _> error |
| // GetSong retrieves the title of the Speaker's current song, if any. |
| GetSong() (string | error) |
| // Pause playback of the Speaker's current song. |
| Pause() error |
| // Stop playback of the Speaker's current song. |
| Stop() error |
| // Volume adjusts the Speaker's volume. |
| Volume(volumeLevel uint16) error |
| // GetVolume retrieves the Speaker's volume. |
| GetVolume() (uint16 | error) |
| // AddSongs adds the list of given songs to the song library. |
| AddSongs(songs []string) error |
| // Delete removes the list of given songs from the song library. |
| Delete(songs []string) error |
| } |