3 from Shairplay
import *
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
):
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"
20 shairplay
= LoadShairplay(".")
21 callbacks
= SampleCallbacks()
23 def log_callback(level
, message
):
24 print "Level", level
, ":", message
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
)
31 dnssd
= DnssdService(shairplay
)
32 dnssd
.register_raop("RAOP test", port
, hwaddr
)
36 dnssd
.unregister_raop()