如何提取嵌入在 Samsung 智能电视上 Icecast 音频(无线电)流中的流式“正在播放”数据

Mar*_*tin 5 internet-radio icecast samsung-smart-tv

我正在为广播电台创建一个三星电视应用程序,他们在 Icecast 流中提供“正在播放”信息。是否可以(以及如何)提取此信息?

Bra*_*rad 0

是的,这是可能的。元数据以指定的间隔交织到流数据中。基本上,您读取 8192 字节(或响应标头指定的任何内容Icy-MetaInt),然后读取元数据块。

该元数据块的第一个字节告诉您数据的长度。长度为 0 表示没有更新的元数据。

读取元数据块后,您就可以返回读取流数据。

我在这里的答案中更详细地介绍了所有这些内容: https: //stackoverflow.com/a/4914538/362536 虽然我知道您不是在编写 PHP,但无论哪种语言,其原理都是相同的。