【发布时间】:2018-04-18 01:21:14
【问题描述】:
我在 Flask 中使用 pyaudio 时遇到问题。烧瓶应用的代码如下:
from importlib import import_module
from flask import Flask, render_template, Response
import pyaudio
import wave
app = Flask(__name__)
def generateAudio():
CHUNK = 2048 #1024
FORMAT = pyaudio.paInt16
CHANNELS = 1
RATE = 48000
RECORD_SECONDS = 1
p1 = pyaudio.PyAudio()
streamIn = p1.open(format=FORMAT,
channels=CHANNELS,
rate=RATE,
input=True,
frames_per_buffer=CHUNK,
input_device_index=2)
for i in range(0, int(RATE/CHUNK*RECORD_SECONDS)):
data = streamIn.read(CHUNK, exception_on_overflow = False)
yield bytes(data)
@app.route("/audio_feed")
def audio_feed():
return Response(generateAudio(), mimetype="audio/x-wav;codec=pcm")
if __name__ == '__main__':
app.run(host='x', threaded=True,port=x)
似乎 Python 脚本正确地产生了数据,但声音只是没有播放。 Flask没有错误输出,运行正常。
在 HTML 中,我只使用原生 <audio> 标签从 audio_feed url 播放。它在我播放 wav 文件时有效,但当我从麦克风动态读取某些内容时它不起作用。我哪里做错了?
【问题讨论】:
标签: python html linux flask pyaudio