Hi, I'm trying to make online radio stream platform. I use dioxus for frontend and axum for backend.
I can play streamed audios with basic html audio component. Problem is I don't know how to stream my own audio. I know basics of axum but if there are any other easy way to implement audio stream, I'm also interested. Thanks.
Edit:
I have struggled about this topic a lot. In case someone need help. I did it finally:
Yeah, I'm also intersted.
But even if I knew an answer I couldn't help u cause I'm basically using 'warp'.
If sb knows how to do it plz help. I'm also intersted how to stream a video
Can't I just create byte stream from mp3 file or something. Do I really need to use webrtc ? I'm asking because I don't know, please don't understand me wrong.
In principle, all you need to do is create a HTTP response whose body is an MP3 data stream that keeps on going. But I haven't done that in Rust, so I can't recommend you any libraries.
With actix-web it is fairly easy to create a streaming http response from a Stream with the HttpResponseBuilder::streaming method. I don't know the equivalent in axum, but I'm sure it is supported. If you have an mp3 file, you could load it with tokio::fs::File and wrap it in a tokio_util::io::ReaderStream to get a byte stream you can use as the payload of your response.