概要
ブラウザ上でサーバ上の音源を再生するWebアプリを、Flaskで実現するための実装例です。
ディレクトリ構成
flask_play_audio/ ├ music/ │ └ audio.mp3 ├ templates/ │ └ index.html └ app.py
ソースコード
app.py
# -*- coding: utf-8 -*- from flask import Flask, render_template, send_from_directory app = Flask(__name__) @app.route("/") def index(): return render_template("index.html") @app.route("/music/<path:filename>") def play(filename): return send_from_directory("music", filename) if __name__ == "__main__": app.run("0.0.0.0", 80, debug=True)
templates/index.html
<!DOCTYPE html> <html> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>Download audio</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> </head> <body> <audio src="music/audio.mp3" controls></audio> </body> </html>
参考
python - How to play audio from outside static folder in Flask? - Stack Overflow