flutter_radio icon indicating copy to clipboard operation
flutter_radio copied to clipboard

Support For ICY metadata

Open eznix86 opened this issue 6 years ago • 9 comments

For a radio plugin, I guess it should supports Shoutcast (ICY) metadata right ?

eznix86 avatar May 18 '19 21:05 eznix86

any solution ?

tameralgul avatar Jul 25 '20 12:07 tameralgul

maby try to get it by javascript ? icecast and shoutcast are give xmls with the audio info

https://api.flutter.dev/flutter/dart-js/dart-js-library.html

alainseys avatar Aug 09 '20 14:08 alainseys

In Exoplayer, we can use:

import com.google.android.exoplayer2.metadata.Metadata;
import com.google.android.exoplayer2.metadata.MetadataOutput;

When implementing MetadataOutput on RadioService, we get this:.

    @Override
    public void onMetadata(Metadata metadata) {
      // ex, we get icy metadata with:  metadata.get(0).toString()
    }

thus having information on the icy metadata

eznix86 avatar Aug 09 '20 21:08 eznix86

@theArtechnology thank you for reply.

actually i don't know how to implement it.

in addition i need to implement it for IOS :( . did you have any idea ? . and with detailing please

tameralgul avatar Sep 10 '20 17:09 tameralgul

Actually, you don't need to implement it, I was just hoping that they would add this feature in the plugin itself.

Unfortunately, I can't help you on the iOS side. (As I don't own a mac :disappointed: )

eznix86 avatar Sep 28 '20 07:09 eznix86

i have a work a round for this in my flutter project i call a php script(on a remote server) that outputs the string of the title (you can also call other data from the icy stream) that way i parse the info that is returned to my flutter application.

so the title you see in the bottom of the application is called from php, that works for me

Schermafbeelding 2020-09-30 om 17 01 06

alainseys avatar Sep 30 '20 15:09 alainseys

Actually, you don't need to implement it, I was just hoping that they would add this feature in the plugin itself.

Unfortunately, I can't help you on the iOS side. (As I don't own a mac 😞 )

Don't worry. any way thank you for reply :)

tameralgul avatar Sep 30 '20 16:09 tameralgul

i have a work a round for this in my flutter project i call a php script(on a remote server) that outputs the string of the title (you can also call other data from the icy stream) that way i parse the info that is returned to my flutter application.

so the title you see in the bottom of the application is called from php, that works for me

Schermafbeelding 2020-09-30 om 17 01 06

I try to get them from Shoutcast profile page where them already appears. but connection always closed while receiving data, i think this page is not use simple HTTP protocol. otherwise my customer don't have a back end application on web.

May i will not to showing metas in this app

tameralgul avatar Sep 30 '20 16:09 tameralgul

i have a work a round for this in my flutter project i call a php script(on a remote server) that outputs the string of the title (you can also call other data from the icy stream) that way i parse the info that is returned to my flutter application. so the title you see in the bottom of the application is called from php, that works for me Schermafbeelding 2020-09-30 om 17 01 06

I try to get them from Shoutcast profile page where them already appears. but connection always closed while receiving data, i think this page is not use simple HTTP protocol. otherwise my customer don't have a back end application on web.

May i will not to showing metas in this app

Hy i keep the connection open until the user presses the stop button. Our icecast trafic is passed trough a ssl proxy (not that it makes any difference). The simplest method is parsing the xspf file , dont know about shoutcast but the basics should be the same.

alainseys avatar Sep 30 '20 17:09 alainseys