Baseflow / Baseflow/XamarinMediaManager

Metadata and webradio: how to recover data like on native player?

Open
#793 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
763
Forks
299
PR merge metrics
No merged PRs in 30d

Description

Hello,

I would like to know how metadata are recovered from a a webradio?

I play an audio stream from an URL with:
`var mediaItem = await CrossMediaManager.Current.Play(radioUrl);`

I also use:
```
mediaItem.MetadataUpdated += (sender, args) => {
var title = args.MediaItem.Title;
Debug.WriteLine(title);
};
```

and:
```
CrossMediaManager.Current.MediaItemChanged += OnCurrentMediaItemChanged;

private void OnCurrentMediaItemChanged(object sender, MediaItemEventArgs e)
{
var currentMedia = e.MediaItem;
Debug.WriteLine($"OnCurrentMediaItemChanged - currentMedia : {currentMedia.Title} {currentMedia.Artist}");
}
```

But these events are never raised.

However, if I push the app in background and I display the native iOS player, the title and artist are well recovered.

How is it possible? Can I recover these data in the app?

Contributor guide

Open the contributing guide

Research direction

Start with the CrossMediaManager.Current.Play call and the MetadataUpdated and MediaItemChanged handlers shown in the issue. Trace how the iOS native player obtains the title and artist, then compare that path with the events exposed to the app. Done means establishing whether app-visible metadata recovery is supported and documenting the working behavior or limitation.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, ios
Domain
audio-video-rtc, mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.