Baseflow / Baseflow/XamarinMediaManager
Metadata and webradio: how to recover data like on native player?
- 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
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