我有简单的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:
我发现设置确切的流大小(通过内容长度)来解决问题。 但是,我宁愿不这样做。有什么想法吗?
答案 0 :(得分:2)
来自网络资源的流与来自文件的流不同。假设流媒体协议在服务器和播放器主机之间实现,Windows不支持DirectShow API中的流媒体客户端开箱即用:您需要一个额外的过滤器来支持这种流式传输。