Dockerfile:
FROM python:3.14.0b1-bookworm
RUN apt update && apt upgrade
RUN apt install portaudio19-dev -y
RUN pip install pyaudio
COPY main.py .
CMD ["python3", "main.py"]
main.py:
import time
import sys
import pyaudio
DURATION = 5 # seconds
def callback(in_data, frame_count, time_info, status):
return (in_data, pyaudio.paContinue)
p = pyaudio.PyAudio()
stream = p.open(format=p.get_format_from_width(2),
channels=1 if sys.platform == 'darwin' else 2,
rate=44100,
input=True,
output=True,
stream_callback=callback)
start = time.time()
while stream.is_active() and (time.time() - start) < DURATION:
time.sleep(0.1)
stream.close()
p.terminate()
Команда запуска контейнера:
docker run --rm --name pyaudiotest --device /dev/snd pyaudio:latest
pyaudio:latest - билд докерфайла
При запуске из динамиков на ноутбуке секунды 2 идет тихий писк, дальше ничего. Думаю, что нужно пробросить какие-то переменные или смонтировать директории