2

我有一个使用 BackgroundAudioAgent 和 AudioPlayerAgent 播放的实时 mp3 流。由于提要是 mp3 流,我没有看到创建 AudioStreamingAgent 的理由。流按预期播放。

是否可以从音频流中获取音轨信息?例如,当我在 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);

在此先感谢您的帮助。

4

1 回答 1

0

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

创建 AudioStreamingAgent 并非易事。如果可能的话,我希望避免它,但这似乎是获得所需轨道信息的唯一方法。

资源

于 2013-12-10T15:18:39.363 回答