import pymumble_py3 as pymumble_py3 from pymumble_py3.callbacks import PYMUMBLE_CLBK_SOUNDRECEIVED as PCS # Connection details for mumble server. Hardcoded for now, will have to be # command line arguments eventually pwd = "" # password server = "protospace.ca" # server address nick = "python" port = 64738 # port number audio_file = open('audio.wav', 'wb') # mumble client set up def sound_received_handler(user, soundchunk): """ play sound received from mumble server upon its arrival """ print(len(soundchunk.pcm)) audio_file.write(soundchunk.pcm) # Spin up a client and connect to mumble server mumble = pymumble_py3.Mumble(server, nick, password=pwd, port=port) # set up callback called when PCS event occurs mumble.callbacks.set_callback(PCS, sound_received_handler) mumble.set_receive_sound(1) # Enable receiving sound from mumble server mumble.start() mumble.is_ready() # Wait for client is ready # constant capturing sound and sending it to mumble server try: while True: pass finally: audio_file.close()