Commit | Line | Data |
---|---|---|
8be1424a JVH |
1 | import time |
2 | from struct import * | |
3 | from Shairplay import * | |
4 | ||
5 | hwaddr = pack('BBBBBB', 0x01, 0x23, 0x45, 0x67, 0x89, 0xAB) | |
094e4ad1 JVH |
6 | class SampleCallbacks(RaopCallbacks): |
7 | def audio_init(self, bits, channels, samplerate): | |
23ab90af | 8 | print "Initializing", bits, channels, samplerate |
094e4ad1 | 9 | def audio_process(self, session, buffer): |
23ab90af JVH |
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" | |
8be1424a JVH |
19 | |
20 | shairplay = LoadShairplay(".") | |
094e4ad1 | 21 | callbacks = SampleCallbacks() |
8be1424a | 22 | |
10ceb254 JVH |
23 | def log_callback(level, message): |
24 | print "Level", level, ":", message | |
25 | ||
23ab90af | 26 | raop = RaopService(shairplay, 10, callbacks) |
10ceb254 JVH |
27 | raop.set_log_level(RaopLogLevel.DEBUG) |
28 | raop.set_log_callback(log_callback) | |
8be1424a JVH |
29 | port = raop.start(5000, hwaddr) |
30 | ||
31 | dnssd = DnssdService(shairplay) | |
094e4ad1 | 32 | dnssd.register_raop("RAOP test", port, hwaddr) |
8be1424a JVH |
33 | |
34 | time.sleep(50) | |
35 | ||
36 | dnssd.unregister_raop() | |
37 | raop.stop() | |
094e4ad1 JVH |
38 | |
39 | del dnssd | |
8be1424a JVH |
40 | del raop |
41 |