Потоковое аудио в то время как создает проблему заголовка в Python - PullRequest
0 голосов
/ 08 ноября 2019

Я передаю звук на страницу HTML с помощью Python.

Когда страница загружена, возникает ошибка, и звук не проходит.

Моя цель - передать звук через http длявеб-страница. Звук записывается и мгновенно передается на веб-страницу.

Вот main.py

from flask import Flask, render_template, Response, stream_with_context
from camera import VideoCamera
from audio import Audio
app = Flask(__name__)
blur = False
track = False
@app.route('/')
def index():
    return render_template('index.html')
@app.route('/audio_feed')
def audio_feed():
    return Response(stream_with_context(Audio.get_stream))

Audio.py, где я записываю звук:

import pyaudio

class Audio(object):
    def __init__(self):    
        CHUNK = 1024
        WIDTH = 2
        CHANNELS = 2
        RATE = 44100
        RECORD_SECONDS = 5
        p = pyaudio.PyAudio()
        self.audio = stream = p.open(format=p.get_format_from_width(WIDTH),
                        channels=CHANNELS,
                        rate=RATE,
                        input=True,
                        # output=True,
                        frames_per_buffer=CHUNK)


        while True:
            data = stream.read(CHUNK)
            stream.write(data, CHUNK)

        stream.stop_stream()
        stream.close()

        p.terminate()



    def get_stream(self):
        global stream
        return stream

Ошибка заключается в следующем:

Отладка промежуточного программного обеспечения перехватила исключение в поточном ответе в точке, где заголовки ответа уже были отправлены. Трассировка (последний вызов был последним): файл "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/werkzeug/wsgi.py", строка 506, в далее вернуть файл self._next () "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/werkzeug/wrappers/base_response.py", строка 45, в _iter_encoded для элемента в итерируемой: TypeError: объект 'function' не повторяется

Я проверил некоторый код других пользователей, например этот ( Audio Livestreaming с Python & Flask ), но безуспешно.

Что я делаю не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...