为什么flac http流无效?

时间:2011-10-31 17:18:51

标签: windows http streaming directshow multimedia

我有简单的http流应用程序,它接受GET URL请求并返回HTTP“content-type”标头,然后返回请求的文件数据。它在localhost http服务器上运行。

因此,我可以在播放器中收听(例如)

http://localhost:8080/music/metallica.mp3

它在任何播放器(VLC,MPlayer,WMP,Winamp)中都像普通的http流一样播放。

但是,为什么我尝试以这种方式传输FLAC,它在MPlayer和WMP中不起作用(我使用内容类型“audio / flac”)。

据我所知,问题出在DShow过滤器上(Graph Builder无法找到正确的源过滤器和/或将其连接到flac解码器)。

在开始DShow过滤器调试之前,谁也不能暗示我应该在哪里挖掘? :)

UPD:

我发现设置确切的流大小(通过内容长度)来解决问题。 但是,我宁愿不这样做。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

来自网络资源的流与来自文件的流不同。假设流媒体协议在服务器和播放器主机之间实现,Windows不支持DirectShow API中的流媒体客户端开箱即用:您需要一个额外的过滤器来支持这种流式传输。