Я собираюсь реализовать голосовую беседу с помощью python. Поэтому я видел несколько примеров, как играть в звук и как записывать. Во многих примерах они использовали библиотеку pyAudio
.
Я могу записать голос и сохранить его в файле .wav
. И я могу сыграть файл .wav
. Но я ищу рекордный голос в течение 5 секунд, а затем играю. Я не хочу сохранять его в файл, а затем играть, это не хорошо для голосового чата.Запись и воспроизведение аудио - python
Вот мой код аудио записи:
p = pyaudio.PyAudio()
stream = p.open(format=FORMAT, channels=1, rate=RATE,
input=True, output=True,
frames_per_buffer=CHUNK_SIZE)
num_silent = 0
snd_started = False
r = array('h')
while 1:
# little endian, signed short
snd_data = array('h', stream.read(CHUNK_SIZE))
if byteorder == 'big':
snd_data.byteswap()
r.extend(snd_data)
silent = is_silent(snd_data)
if silent and snd_started:
num_silent += 1
elif not silent and not snd_started:
snd_started = True
if snd_started and num_silent > 30:
break
Теперь я хочу играть без сохранения. Я не знаю, как это сделать.