Trouble serving static audio from streamlit

Summary

My app involves a bunch of audio that we use for data analysis. I want to add a page to serve the audio as links. but before that I want to be sure that I can fetch it from the streamlit server

Steps to reproduce

Place a valid wave file (ie. audio.wav) in static folder
start streamlit
fetch it with :8501/static/audio.wav
see white screen of death

Expected behavior:
browser get audio and have option to save or play

Actual behavior:
white screen of death (need to enable javascript error message)

Debug info

  • Streamlit version: 1.22
  • Python version: 3.11.2
  • Using VS code
  • OS version: Windows 11
  • Browser version: Chrome 114

Hi @Steve_Liu,

Thank you for sharing your question with the community!

Your post is missing a code snippet and a link to your app’s GitHub repo. Please check out our guidelines on how to post an effective question here and update your post to help the community answer your question.

1 Like

No code is involved as it’s about serving audio files. For the same reason, there is no applicable git repo

Hey @Steve_Liu :smile:

The static file serving feature only allows files with the following extensions to be served normally: ".jpg", ".jpeg", ".png", ".gif" .

Any other file (including .wav) will be sent with header Content-Type:text/plain which will cause browsers to render in plain text (in your case, white screen of death). This is included for security - other file types that need to render should be hosted outside the app.

Source: Static file serving - Streamlit Docs

I don’t see it on the public roadmap, so unfortunately I don’t have a timeline yet as to if and when support for other file formats will exist. Tagging @jcarroll in case there are such plans in the not-so-distant future.

That said, if you’d like to see this prioritized, please submit a feature request in Streamlit’s repo or upvote a related issue if one exists.

2 Likes

No concern from my side on adding .wav and maybe .mp3 to the list, can’t remember if there’s any obvious way to hack those formats or do malicious things.

Feel free to open a github issue for this and tag me (@sfc-gh-jcarroll) and @kajarenc and link to this discussion and we can see about getting it prioritized.

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.