ICY Metadata - full metadata (and availability for flutter web)
Is your feature request related to a problem? Please describe.
ICY metadata are a great thing when developing a webradio player. Currently the IcyMetadata object contains only a "title" property and not a full list of available metadata (artist, song title, artwork url).
Here's an example of the code I'm using and a link to a webradio that correctly streams the artwork image url.
StreamBuilder<IcyMetadata?>( stream: _player.icyMetadataStream, builder: (context, snapshot) { if (!snapshot.hasData) { return SizedBox.shrink(); } print(snapshot.data?.info?.title); }, ) ,
https://stream-uk1.radioparadise.com/aac-320
Describe the solution you'd like A Map<String,String> fullMetadata property in the IcyMetadata object. Or all the metadata unpacked in the right properties (artist, song, album artwork) but I think it's best the first solution. And also, it would be a really good thing to have this feature also available for a web player made in flutter.
Describe alternatives you've considered The radio_player package already have artworks support but only for iOS/Android
Additional context Add any other context or screenshots about the feature request here.
I don't know if this is even possible for the web. If you know what browser API supports this, please share.
However, certainly it's on the TODO list to report more metadata on the iOS side. Currently only the Android side is complete.
P.S. That url (https://stream-uk1.radioparadise.com/aac-320) is currently giving a 502.
OK, that URL is working again, so I was able to at least do some testing and fixing on the iOS side, and have the URL metadata now being reported. Before I commit that, I might create a radio example.
Can I ask, is that URL you provided above a public URL that I can use in this example? Since it gave a 502 earlier I'm wondering whether it would be reliable enough to use as an example.
Thanks, that fix is gold ;) I'm not familiar instead about ICY metadata parsing on a webplayer, sorry.
I picked the url from another package published on pub.dev so I think it's public but I don't know for sure.. I used it for some time doing some research and it never gave me 502 so maybe was a temporary issue.
PS. the title is meant to be a single property with the artist and the song title united? Don't you think it would be better to have them separate?
Bye!
I've published the iOS fix on the fix/ios_livestream if you'd like to test it before I publish a release.
@dpacchi have you found the fix/ios_livestream branch to work for you on the iOS front?
Hi,

Yes I've tested the ios_livestream branch and it seems ok!
Don't you think it would be useful to have artist name and song in two separate fields?
Thanks
I don't think that format should be assumed by just_audio, and instead it should just report the raw metadata values exactly as they appear under each tag. If your app can make that assumption, it should be OK for your app to parse that format.
Ok thanks
FYI, the URL metadata fix for iOS is now published in release 0.9.13.
As for web, I still don't have any idea of how this can actually be done, so I would encourage you or others to share below any techniques that you find. If it's not possible, I'll close the issue.
Hi, how are you?
I was just wandering if there are any updates on the ICY Metadata stream using just audio in a flutter web application.
I leave you this repo that maybe helps, thanks! https://github.com/TooTallNate/node-icy
Thanks for sharing. The key paragraph in that README is:
A good use case for this module is for HTML5 web apps that host to radio streams; the
Still, an example of that would be helpful. If we are to pipe the clean audio data through to the actual player, that will probably require a Web Audio-based implementation (which just_audio isn't currently based on).