lllxy 2004年12月22日
to happydeer:关于DirectShow 开发指南中的问题.......
在DirectShow开发指南中,第18章的例子:关于网络传播一个mpeg文件然后进行播放的问题,现在我有一个问题:
就是本地播放一个mpeg文件的时候,我也使用推模式,就是调用你的改好的代码:asyncrdr.cpp asyncrdr.h asyncio.cpp asyncio.h memfilter.h 只不过我在 memfilter.h中的CMemReader:Read()函数中,直接读取文件中的数据,这样进行播放mpeg可以吗?好像大家都使用renderfile()函数去直接播放。这样有什么不同呢?其实,我想如果我这样做成功的话,那么播放网络数据也就成功。只不过是数据的来源不同。我现在没有测试成功,能够从文件中读取到数据,就是不能够正确播放。不知道在那个地方有问题,请指点一下该如何去调试 谢谢。

HRESULT Read(PBYTE pbBuffer,
DWORD dwBytesToRead,
BOOL bAlign,
LPDWORD pdwBytesRead)
{
CAutoLock lck(&m_csLock);
DWORD dwTime = timeGetTime();
if(!m_flagOpen)
{
DWORD dwFlags = MMIO_READ;
hmmioFile = mmioOpen(m_MPEG1FileName, (LPMMIOINFO)NULL, dwFlags);
m_flagOpen = true;
}
LONG result = mmioRead(hmmioFile, (char*)pbBuffer,32000);
*pdwBytesRead = result;
return S_OK;
}
...全文
83 点赞 收藏 8
写回复
8 条回复

还没有回复,快来抢沙发~

发动态
发帖子
多媒体/流媒体开发
创建于2007-08-27

2048

社区成员

2.0w+

社区内容

专题开发/技术/项目 多媒体/流媒体开发
社区公告
暂无公告