社区
ATL
帖子详情
directshow的stop调用问题
daibo219
2002-01-09 03:55:16
在正常播放过程中,需要暂时停止播放,过一会再播放。发现如果是视频流,则很正常,如果是系统流,则再播放的时候会停顿(从停止到播放的时间)这段时间。因为我播放的是网络传来的MPEG-1系统流,暂停不能有效实现,请问,怎么解决这个问题?
...全文
110
7
打赏
收藏
directshow的stop调用问题
在正常播放过程中,需要暂时停止播放,过一会再播放。发现如果是视频流,则很正常,如果是系统流,则再播放的时候会停顿(从停止到播放的时间)这段时间。因为我播放的是网络传来的MPEG-1系统流,暂停不能有效实现,请问,怎么解决这个问题?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zlma
2002-01-14
打赏
举报
回复
daibo219 ,谢谢了。
我以前是自己写的mpeg1解码和回放(也是实现了网络数据流的播放),现在我也在研究如何用directshow写出更高效的代码,以后还要向你多多请教。
不过我觉得directshow在控制方面的确比不上自己写的代码,但是在其他方面都很不错。
daibo219
2002-01-11
打赏
举报
回复
我明明加了分,怎么没有?请教大侠,怎么加?是否加错了?
daibo219
2002-01-11
打赏
举报
回复
zlma(zlma) 兄,给你加分了。
如果有其他朋友能给出好的方法和建议,我也会给的(如果我还有分给的话,呵呵)
daibo219
2002-01-11
打赏
举报
回复
我在用PAUSE时,发现PAUSE时,DIRECTSHOW就不来读数据,因此,当数据源源不断到达时,会在缓存中累计,当再RUN时,会增加播放的延时。因此,我一般用PAUSE来调节缓存中的数据量。当缓存中数据达不到某一值时,就PUAE几十毫秒,让数据累计,以免出现播放的停顿现象。提供给用户的是STOP,而不提供PAUSE,只作为内部使用。
我没有做多个文件播放。你的意思是连续播放多个文件呢,还是其他什么意思?请能说得清楚一点。大家可以一起考虑。
zlma
2002-01-10
打赏
举报
回复
我觉得数据流实际上应该是实时播放的,就是说你下一次播放的时候,应该中间跳过了一段数据,但是系统会根据你的系统流中的解码时间来判断同步,所以它会停顿一下,我觉得你应该在暂停时不要停止播放,只是不显示图像,这样应该就可以解决问题,或者在暂停后开始播放时将系统的播放时间往前加一个你暂停的时间,应该就可以解决问题。
不过这两种方法我没有具体的做过,你试试看,我们再讨论。
no_limit
2002-01-10
打赏
举报
回复
To :daibo219 兄,
我也正在用DS播放视频流,不过是MPEG4,不知道该怎样控制pause(),找了MSDN,也没发现。还望指点一二,不胜感激。另外,不知兄弟有没有做过多个文件播放?怎样个思路呢?指点一下。
daibo219
2002-01-10
打赏
举报
回复
我得临时解决方法就是用的你的第一种。但这样还是占用资源。你说的第二种我没试过。
等我试过了再告诉结果。谢谢呢!
c#
DirectShow
打开USB相机拍照
最后,当你想要保存图像时,
调用
`mediaControl.
Stop
()`停止视频流,然后从回调函数中获取并保存位图。记得释放所有资源,以防止内存泄漏。 总结起来,通过C#和
DirectShow
,你可以创建一个应用程序,它能够连接到USB...
DirectShow
调用
手动Lav Filter建立Filter Graph播放视频
在"
DirectShow
调用
手动Lav Filter建立Filter Graph播放视频"的过程中,主要涉及以下几个步骤: 1. **导入Lav Filter**: 首先,你需要将Lav Filter的库文件(通常为.dll和.ax文件)添加到你的项目中,确保在运行时...
c++
directshow
采集摄像头
3. **处理事件**:监听`IMediaControl::Run`和`IMediaControl::
Stop
`事件,以便在开始和结束视频流时执行相应操作。 4. **错误处理**:
DirectShow
API使用COM错误机制,需要正确处理`HRESULT`返回值并进行错误排查。...
Window下通过
DirectShow
控制USB摄像头抓拍照片
6. **停止捕获**:当不再需要捕获时,
调用
IGraphBuilder的
Stop
方法结束捕获过程,然后释放所有资源。 在提供的"CameraByDS"文件中,可能包含了一个简单的示例程序,它演示了上述步骤。该程序可能已经封装了一些常用...
vb.net
directshow
.net 摄像头采集
为了停止视频流,我们可以
调用
`mediaControl.
Stop
()`方法。同时,记得在程序退出前释放所有资源,防止内存泄漏。这可以通过实现`IDisposable`接口并在`Dispose()`方法中释放所有过滤器和Filter Graph Manager来完成...
ATL
3,248
社区成员
48,531
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章