Вы должны использовать «apache kafka» с python, который используется на глобальном уровне ..... Все типы ручных потоковых дескрипторов «apache kafka».

у передать аудио моего микрофона (который записывается через pyaudio) через Flask на любой клиент, который подключается.

Это откуда аудио приходит:

    def getSound(self):
        # Current chunk of audio data
        data = self.stream.read(self.CHUNK)
        self.frames.append(data)
        wave = self.save(list(self.frames))

        return data

Вот мой колб-код:

@app.route('/audiofeed')
def audiofeed():
    def gen(microphone):
        while True:
            sound = microphone.getSound()
            #with open('tmp.wav', 'rb') as myfile:
            #   yield myfile.read()

            yield sound

    return Response(stream_with_context(gen(Microphone())))

И это клиент:

    <audio controls>
        <source src="{{ url_for('audiofeed') }}" type="audio/x-wav;codec=pcm">
        Your browser does not support the audio element.
    </audio>

Иногда это работает, но в большинстве случаев я получаю[Errno 32] Сломанная труба"

Когда раскомментирую это с open ("tmp.wav") - part (self.save () опционально берет все предыдущие кадры и сохраняет их в tmp.wav), я как бы получаю поток, но все, что выходит из динамиков это «щелкающий» шум

Я открыт для любых предложений. Как мне получить вход моего микрофона в прямом эфире (без предварительной записи!) В веб-браузере?

Спасибо!

Ответы на вопрос(3)

Ваш ответ на вопрос