示例#1
0
            got_packet()
            # do some stuff with data maybe before sticking it into playback_queue
            timestamp = get_timestamp(data)
            frame = numpy.fromstring(data[4:], dtype = dtype)
            BUFFER[timestamp, :] = frame
            HAVE_BUFFER[timestamp] = True
            print 'got frame of len ', len(data)
            print 'timestamp is ', timestamp
        except:
            traceback.print_exc()

t = threading.Thread(target = forever_receive_from_udp)
t.setDaemon(True)
t.start()

playback_stream = OutputStream(samplerate=8000, blocksize=800, dtype='int32', channels=1)
playback_stream.start()
playback_queue = Queue()

def forever_write_to_output():
    while True:
        try:
            playback_stream.write(playback_queue.get())
        except:
            traceback.print_exc()

t = threading.Thread(target = forever_write_to_output)
t.setDaemon(True)
t.start()

# now write something which receives udp packets and sticks
示例#2
0
            timestamp = get_timestamp(data)
            frame = numpy.fromstring(data[4:], dtype=dtype)
            BUFFER[timestamp, :] = frame
            HAVE_BUFFER[timestamp] = True
            print 'got frame of len ', len(data)
            print 'timestamp is ', timestamp
        except:
            traceback.print_exc()


t = threading.Thread(target=forever_receive_from_udp)
t.setDaemon(True)
t.start()

playback_stream = OutputStream(samplerate=8000,
                               blocksize=800,
                               dtype='int32',
                               channels=1)
playback_stream.start()
playback_queue = Queue()


def forever_write_to_output():
    while True:
        try:
            playback_stream.write(playback_queue.get())
        except:
            traceback.print_exc()


t = threading.Thread(target=forever_write_to_output)
t.setDaemon(True)
示例#3
0
play audio frames on callback

pysoundcard


server which forwards all udp packets from one ip, port to everyone connected to it via udp


erasure codes later if time permits
'''

from pysoundcard import InputStream, OutputStream, continue_flag
import time

"""Loop back five seconds of audio data."""

output = OutputStream(samplerate=44100, blocksize=16)
output.start()

def callback(in_data, time_info, status):
    output.write(in_data*4)
    return continue_flag

s = InputStream(samplerate=44100, blocksize=16, callback=callback)

s.start()
time.sleep(5)
s.stop()
output.stop()