求助,小女正学Directshow方面的知识,主要参考陆其明写的那本*****实务,想在VC环境下写一个通过网络实时播放M4V格式的媒体文件,原想原理应与DirectShow务实精选VODDemoVOD那个例子差不多,修改了一下,却怎么也播放不了,抓破脑袋,想不出原因,利用Directshow自带的那个graphedit可以打开本地m4v的文件,(应该说没问题的啊,)我自己加入一个mp4 splliter,而后由自动连接而成,哪位大侠指点一下啊~~~~~

解决方案 »

  1.   

    你可以先不修改他的那个例子,先自己写一个简单的播放器,把添加filter的步骤熟悉了,然后再修改复杂的例子,
    一开始就搞这么复杂的,很容易出错,还不知道出在哪里。先把简单的搞懂了,复杂的慢慢来。
      

  2.   

    不知道m4v文件在网络上传输有没有特定的方式,例如要先发送文件尾部数据,再传输其他数据,等等
    还有吗M4V的媒体主类型在Directshow没有定义,像AVI格式的是MediaType_AVI,M4V类型就要自己定义,那么如何根据CLSID定义
      

  3.   

    自己写了pull模式的source filter??传递的是stream字节流格式,有splitter是可以成功播放的。接收函数要使用while判断处理。可以调试看是否成功接收到数据,是否成功建立了Graph
      

  4.   

    “不知道m4v文件在网络上传输有没有特定的方式”关于这个问题,看你自己怎么传输了,可以直接stream传递,就象你说的老陆的哪个饿例子,当然使用rtp等协议什么的也可以,
      

  5.   

    source   filter是利用陆老师的那个例子,我以为M4v就跟AVi,,mpeg格式的文件一样,是不是,我在陆老师写的那个点播系统的基础上加入m4V文件格式,思路应该更AVI,mpeg差不多,接收应该没问题,就是没图像与声音,上面大侠,可否再与我讨论一下
      

  6.   

    最近发现,原先那个mp4 splitter 与source filter 无法连接,换了一个Haali medie splitter(AR)虽然连接成功了,但还是不能播放m4v文件
    rageliu ,用什么样的splitter才可以播放?在本地源文件可以用graphedit播放,调试程序发现接收数据流成功了(不过发现保存的文件比源文件要大),请哪位大侠解惑一下,谢谢
      

  7.   

    pull模式的source filter,它出来的pin一般是stream字节流格式,也就是说,直接2进制读取文件然后发送,接收到就可以构建Graph。mp4文件是需要splitter的,系统默认没有,如果你觉得是splitter的问题,可以使用avi文件做测试,它是系统带splitter的
      

  8.   

    本人MSN :[email protected]  QQ :460519748  希望热心人路过指点一下