Skip to content

Instantly share code, notes, and snippets.

@hosackm
Created September 2, 2015 22:30
Show Gist options
  • Save hosackm/289814198f43976aff9b to your computer and use it in GitHub Desktop.
Save hosackm/289814198f43976aff9b to your computer and use it in GitHub Desktop.
Flask streaming an audio file
from flask import Flask, Response
app = Flask(__name__)
@app.route("/wav")
def streamwav():
def generate():
with open("signals/song.wav", "rb") as fwav:
data = fwav.read(1024)
while data:
yield data
data = fwav.read(1024)
return Response(generate(), mimetype="audio/x-wav")
@app.route("/ogg")
def streamogg():
def generate():
with open("signals/song.ogg", "rb") as fogg:
data = fogg.read(1024)
while data:
yield data
data = fogg.read(1024)
return Response(generate(), mimetype="audio/ogg")
if __name__ == "__main__":
app.run(debug=True)
@vatssv
Copy link

vatssv commented Sep 17, 2022

Thank you! Worked like a charm. If someone runs into can't decode byte error, please make sure you're opening the file in 'rb' mode. I missed that the first time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment