Files
LucipherDev-ComfyUI-TangoFlux/server.py
T
2025-01-11 00:11:07 +05:30

55 lines
1.3 KiB
Python

import os
import server
import folder_paths
web = server.web
@server.PromptServer.instance.routes.get("/tangoflux/playaudio")
async def play_audio(request):
query = request.rel_url.query
filename = query.get("filename", None)
if filename is None:
return web.Response(status=400)
filename, output_dir = folder_paths.annotated_filepath(filename)
file_type = query.get("type", "output")
output_dir = folder_paths.get_directory_by_type(file_type)
if output_dir is None:
return web.Response(status=400)
subfolder = query.get("subfolder", None)
if subfolder:
output_dir = os.path.join(output_dir, subfolder)
filename = os.path.basename(filename)
file_path = os.path.join(output_dir, filename)
if not os.path.exists(file_path):
return web.Response(status=400)
_, ext = os.path.splitext(filename)
ext = ext.lower()
content_types = {
".wav": "audio/wav",
".mp3": "audio/mpeg",
".flac": "audio/flac",
".aac": "audio/aac",
".wma": "audio/x-ms-wma",
}
content_type = content_types.get(ext, None)
if content_type is None:
return web.Response(status=400)
with open(file_path, "rb") as file:
data = file.read()
return web.Response(body=data, content_type=content_type)