社区
游戏开发
帖子详情
请问各位用过memfile的大虾
sunshine_djh
2002-05-31 11:18:14
我到现在都还不明白为什么要用memfile来播放文件,用RenderFile()不是可以直接播放吗?若是从网上接收数据,每次接收一帧,那也应该创建一个Source Filter才能播放呀?memfile到底有什么优势?
还有memfile中CMemStream和CMemReader我怎么也看不懂,希望能得到各位高手指点。
...全文
130
21
打赏
收藏
请问各位用过memfile的大虾
我到现在都还不明白为什么要用memfile来播放文件,用RenderFile()不是可以直接播放吗?若是从网上接收数据,每次接收一帧,那也应该创建一个Source Filter才能播放呀?memfile到底有什么优势? 还有memfile中CMemStream和CMemReader我怎么也看不懂,希望能得到各位高手指点。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
21 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sunshine_djh
2002-06-10
打赏
举报
回复
分数太少,请大家不要介意。
jimconrad
2002-06-06
打赏
举报
回复
"实时播放网络中接收的数据用dshow来播放和用ddraw或是drawdib相比dshow有什么优势可言?"
To achieve the throughput necessary for streaming video and audio, DirectShow uses DirectDraw® and DirectSound® to render data efficiently to the system's sound and graphics cards.
(摘自dxshow文档)
dxshow是基于dxdraw和dxsound的一套多媒体播放解决方案。dxdraw和dxsound负责影音输出,dxshow负责数据传输和解码。如同http协议和tcp协议之间的关系一样,或者基于mfc开发的程序和mfc的关系一样。我不知道http和tcp协议相比有什么优势,正如不知道dxshow和dxdraw比起来有什么优势一样;二者所处的软件结构的层次不同,功能也不同,没有可比性。
levinson
2002-06-06
打赏
举报
回复
你所说的“优势”是跟谁比啊?!memfile只是一个很简单的source filter的范例啊,甚至都没有完整的写成通用组件。反复问让我有点纳闷ing
levinson
2002-06-06
打赏
举报
回复
memfile仅仅是一个例子。什么优势不优势的,不懂?!
sunshine_djh
2002-06-06
打赏
举报
回复
是不是memfile主要优势是可以一帧一帧的播放,要是在网络上边接收数据边实时播放的话,memfile是最佳选择,是吗?
但是,实时播放网络中接收的数据用dshow来播放和用ddraw或是drawdib相比dshow有什么优势可言?
liz22
2002-06-04
打赏
举报
回复
memfile播放实时采集的图象延时最少也有1秒,有没有其他方法可以降低延时呢?我以前好像在那看到说DirectX8SDK中有个ball的例子效果较好,可我不会用,谁知道啊?
capboy
2002-06-03
打赏
举报
回复
如果,你使用RendFile()(或者直接使用mediaplay来模拟)来播放一个远程文件的话(不是局域网的共享性质的),你会发现需要等待很长的时间,才出图像,那是因为他会把整个文件下载完毕在播放.而你修改memfile的程序可以完成边下载,边播放.这个就是为什么修改他,而不使用mediaplay的控件的原因.
memfile确实是有局限.我在"网络播放器"也说了这个问题.他本身是为了播放文件.不是为了时时的视频流的,我想大家在播放文件的时候不会关注到底延时的多少吧?好像意义不大...
如果想应用在直播的地方,最好使用其他的方法.这个只是一个不好的替代方法而已.
一般是自己做压缩,解压,效果才会好的.
capboy
2002-06-03
打赏
举报
回复
播放网络文件啊...呵呵...你可以使用http协议来获得数据,直接播放网站的数据什么的功能啊.
sunshine_djh
2002-06-03
打赏
举报
回复
capboy,“memfile确实是有局限.我在"网络播放器"也说了这个问题.他本身是为了播放文件.不是为了时时的视频流的”,那为什么称之为“网络播放器”?
lifu
2002-06-03
打赏
举报
回复
xingtian713(行天)兄的关于“那个CMemStream类其实生成的就是一个source filter”的讲法我不是很理解。
我私下里认为CMemStream继承于CAsyncStream,而CAsyncStream是一个是规范我们的流使其更像的从文件中来的一个接口。而继承与CAsyncReader的CAsyncFilter更像是一个source filter。不过我也糊里糊度的,希望大家多指点
大家多讨论讨论,就都明白了
xingtian713
2002-06-02
打赏
举报
回复
那个CMemStream类其实生成的就是一个source filter
sunshine_djh
2002-06-02
打赏
举报
回复
哪个asynbase.lib到底是实现什么功能的?
sunshine_djh
2002-06-02
打赏
举报
回复
可是到底在哪个地方建立了source filter?
sunshine_djh
2002-06-02
打赏
举报
回复
那个asynbase.lib到底是实现什么功能的呢?
jimconrad
2002-06-01
打赏
举报
回复
显然不行。你可以向capboy要他的那份程序。你搜一搜旧贴,关键字"memfile"
xingtian713
2002-06-01
打赏
举报
回复
capboy他改写的那个例子,只是模拟网络环境,通过独立线程不停的从mpg文件中读取,然后写入缓冲区中,他的缓冲区算法其实是有一些问题的,我测试过,效率很低,而且播放过程中延迟太大,不适合改造成网络播放器
sunshine_djh
2002-06-01
打赏
举报
回复
哎呀,问错了,memfile不支持接收网络数据并播放,是不是capboy改写的那个支持?
我也没看见他在程序中创建source filter呀?
sunshine_djh
2002-06-01
打赏
举报
回复
那个程序我有,可是不能接收网络数据为什么capboy还称之为“网络播放器”?
sunshine_djh
2002-05-31
打赏
举报
回复
接收网络数据也可以直接用memfie吗?要是不改写memfile可以直接用吗?
jimconrad
2002-05-31
打赏
举报
回复
代码分析先看其它程序如何调用被分析代码的,即这个类的外部接口和使用方法,调用流程。然后再逐个看外部接口的内部实现。然后看内部隐藏的程序结构。
加载更多回复(1)
Mem
File
多传了一次,CSDN却没有提供方法删除掉。
MPEG4流媒体的视频传输和运程播放代码
MPEG4流媒体的视频传输和运程播放代码,VC++
内存文件处理C++例程
VC++ 程序,如何创建
MEM
FILE
,及压缩算法
Share
Mem
File
维护的多进程间安全共享内存数据: CShare
Mem
File
, TimeoutMillsec>
Mem
File
;
Mem
File
.create("name"); DataType* pData =
Mem
File
.getLockBuffer();
Mem
File
.releaseLockBuffer();
trab_arquitetura:建筑工作-20202
人工分析考虑
mem
file
.se中的Assembly代码和
mem
file
.dat中可用的代码,请检查代码的对等性。 考虑运行时评估公式,对于假设的手动评估,请估算每个处理器的预期运行时。 通过每个模拟器固有的testbench模块找出时钟...
游戏开发
8,303
社区成员
23,682
社区内容
发帖
与我相关
我的任务
游戏开发
游戏开发相关内容讨论专区
复制链接
扫一扫
分享
社区描述
游戏开发相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章