Commit | Line | Data |
---|---|---|
15c988f7 JB |
1 | import time |
2 | from struct import * | |
3 | from Shairplay import * | |
4 | ||
5 | hwaddr = pack('BBBBBB', 0x01, 0x23, 0x45, 0x67, 0x89, 0xAB) | |
6 | class SampleCallbacks(RaopCallbacks): | |
7 | def audio_init(self, bits, channels, samplerate): | |
8 | print "Initializing", bits, channels, samplerate | |
9 | def audio_process(self, session, buffer): | |
10 | print "Processing", + len(buffer), "bytes of audio" | |
11 | def audio_destroy(self, session): | |
12 | print "Destroying" | |
13 | def audio_set_volume(self, session, volume): | |
14 | print "Set volume to", volume | |
15 | def audio_set_metadata(self, session, metadata): | |
16 | print "Got", len(metadata), "bytes of metadata" | |
17 | def audio_set_coverart(self, session, coverart): | |
18 | print "Got", len(coverart), "bytes of coverart" | |
19 | ||
20 | shairplay = LoadShairplay(".") | |
21 | callbacks = SampleCallbacks() | |
22 | ||
23 | def log_callback(level, message): | |
24 | print "Level", level, ":", message | |
25 | ||
26 | raop = RaopService(shairplay, 10, callbacks) | |
27 | raop.set_log_level(RaopLogLevel.DEBUG) | |
28 | raop.set_log_callback(log_callback) | |
29 | port = raop.start(5000, hwaddr) | |
30 | ||
31 | dnssd = DnssdService(shairplay) | |
32 | dnssd.register_raop("RAOP test", port, hwaddr) | |
33 | ||
34 | time.sleep(50) | |
35 | ||
36 | dnssd.unregister_raop() | |
37 | raop.stop() | |
38 | ||
39 | del dnssd | |
40 | del raop | |
41 |