尝试使用C#阅读和播放实时ShoutCast流

时间:2015-05-10 11:09:41

标签: c# shoutcast internet-radio

我一直在尝试使用C#找到一种播放实时ShoutCast流的方法。我一直在研究互联网,到目前为止我只找到一些方法来播放固定长度的流,但我想播放一个直播电台。

有谁知道怎么做?

1 个答案:

答案 0 :(得分:0)

SHOUTcast流基本上是HTTP流,但状态行标题已损坏。不是HTTP/1.1 200 OK,而是ICY 200 OK。从那里,您可以从Content-Type响应标头(例如audio/mpeg)中检测格式和编解码器,并在数据进入时进行流播放。

除此之外,还有元数据交织到流中。这是可选的,但可以通过在请求中添加以下标题来请求:

Icy-MetaData: 1

然后在响应头中,您将看到Icy-MetaInt告诉您每个元数据块之间有多少字节。有关如何处理元数据的更多信息,请参阅此帖子:https://stackoverflow.com/a/4914538/362536