1.2.4. Guiro (Radio/Media Player)¶
Güiro is a component that plays local audio files.
It uses a vlc running locally on AUD and does not depend on nor makes use of Hookah.
1.2.4.2. Interfaces¶
/home/audio/control/radio/ provides a simple API with just a play() and a stop() RPC.
For play(), the string parameter denotes the file to play.
Both absolute and relative paths work, with relative paths being relative to the Guiro/ directory.
It is also possible to send stream URLs; all strings starting with http:// or https:// will be regarded as such.
| Scope (Local Server) + Method | Argument Type | Return Type |
|---|---|---|
/home/audio/control/radio/play() |
string | bool |
/home/audio/control/radio/stop() |
string (ignored) | bool |
1.2.4.3. Examples¶
Former versions of Guiro allowed simultaneous playback of multiple files.
The file name doubled as a handle on the playback instance. It is therefore
good practice, even though absolutely unnecessary, to use the filename for
stop(), too. This way, you won’t have to change your code if the behavior
should ever change again.
import rsb, logging, time
if __name__ == '__main__':
logging.basicConfig()
filename = 'cheerleader-full.ogg'
with rsb.createRemoteServer('/home/audio/control/radio') as server:
server.play(filename)
time.sleep(5)
server.stop(filename)