2

我有一个使用BackgroundAudioAgent和AudioPlayerAgent播放的实时mp3流。由于Feed是一个mp3流,我没有看到创建AudioStreamingAgent的原因。该流按预期播放。在Windows Phone中从背景音频流中检索媒体信息

是否可以从音频流中获取音轨信息?例如,当我在VLC中播放流时,它会列出关于当前播放歌曲的艺术家/标题/等。这个元信息在流中提供;然而,当音轨改变时,BackgroundAudioAgent似乎不使用这些信息或更新。

我知道可以手动设置后台代理的轨道信息,但我试图从流本身获取信息。这是可能的与AudioPlayerAgent?我必须为此创建一个AudioStreamingAgent吗?

//This is how I am currently setting the audio track 
AudioTrack track = new AudioTrack(new Uri(SourceString, UriKind.RelativeOrAbsolute), null, null, null, null); 

在此先感谢您的帮助。

+0

使用AudioStreamingAgent可以播放.m3u8文件吗? –

+0

@shamimreza你可以做到这一点。 .m3u8是一个播放列表文件。如果您自己在AudioStreamingAgent中解析播放列表,并且支持播放列表中的媒体,我认为没有理由不能使其工作。事实上,AudioStreamingAgent项目的示例正在阅读播放列表。 –

回答

0

不幸的是你必须创建一个AudioStreamingAgent。根据James Dailey(MSFT)的说法,AudioPlayerAgent仅使用媒体文件的ID3标签来抓取轨道信息。为了从流中获取跟踪信息,您必须编写自己的类来处理流。

创建AudioStreamingAgent不是一项简单的任务。如果可能的话,我希望避免这种情况,但这种接缝是获得所需轨道信息的唯一方法。

Source