如何从互联网流式传输音频?

时间:2013-11-18 07:56:25

标签: c# windows-phone-7 windows-phone-8 windows-phone

我想从互联网播放音频文件。

我已将AudioStreamAgent项目添加到我的解决方案中,然后添加到我的另一个项目的播放控件中:

if (PlayState.Playing == BackgroundAudioPlayer.Instance.PlayerState)
{
    BackgroundAudioPlayer.Instance.Pause();
}
else
{
    BackgroundAudioPlayer.Instance.Track = null;

    BackgroundAudioPlayer.Instance.Track = new AudioTrack(new Uri(track.url), track.Title, track.Author, null, null);
    BackgroundAudioPlayer.Instance.Play();
}
这是全部吗?

我听不到任何声音,是音频文件本身的问题还是我错过了什么?

AudioStreamAgent项目中预加载文件中的

更新我看到了这一点。我想我应该在这里做点什么:

protected override void OnBeginStreaming(AudioTrack track, AudioStreamer streamer)
{
    //TODO: Set the SetSource property of streamer to a MSS source

    NotifyComplete();
}

更新2:我不希望我的应用支持旧版本,只支持OS 8.0

1 个答案:

答案 0 :(得分:0)

您的问题是您在点击播放按钮后尝试分配曲目网址。

音频播放器中播放按钮的目的是播放附加/指向的音轨。 不要检索/使用端点URL中的相应轨道。

在此之前和其他地方执行此分配然后播放按钮单击事件。

BackgroundAudioPlayer.Instance.Track = new AudioTrack(new Uri(track.url), UriKind.Absolute), 
                    track.Title, 
                    track.Author, 
                    null, 
                    null)