Windows停止播放视频 - 仅播放音频

时间:2014-06-02 14:35:00

标签: video directshow mediaelement

我不知道如何说出这个问题,因为我真的不确定实际发生了什么。我有一个使用多个MediaElements编写的应用程序。我已经在WinRT(C#)和WPF中编写了它并且看到了相同的行为。无论如何,它基本上是一页视频缩略图,重复导航到带有视频的第二页。它的效果很好。

但过了一段时间(即很多调试停止调试),一个视频缩略图将无法加载...只是获得绿屏。然后另一个。然后另一个。然后最后所有的视频都停止显示,虽然它们仍然会播放,因为我可以听到"大"视频页面。

有趣的是,在那时,WMP和大多数其他视频应用程序(甚至浏览器)也停止显示视频。但是,VLC可以正常播放。我指出这一点是因为我认为可能发生的事情是我以某种方式耗尽了有限数量的视频渲染器处理器#34; (dunno)来自DirectShow或VLC旁路的一些层。

我已经竭尽全力确保所有流都关闭和处理,只要它们结束,但显然要么MediaElement中有错误,要么我错过了关闭的机会处理或处理与渲染引擎直接相关的东西。这种情况发生在多台PC上,并且(在WPF版本中)发生在Win7和Win8.1上。必须重新启动才能清除它。关于从何处开始调查的任何想法?

修改

我正在播放本地文件。将源绑定到.Net中的Uri并将其设置为WinRT中的代码中的打开的IRandomAccessStream。两种情况下的行为相同。

1 个答案:

答案 0 :(得分:1)

您的症状表明视频渲染器未发布且仍然存在。它们是有限的资源,然后你用完它们(参见this question的一些细节),然后是视频演示问题。您或许可以将行为与VMR7渲染器进行比较,这些渲染器通常可以大量使用,然后解决方案是可靠地释放未使用的对象。