渲染不使用MediaElement Windows RT

时间:2013-07-31 12:59:12

标签: windows-runtime windows-store-apps render mediaelement

我需要从使用MediaElement的视频播放中获取缩略图

为此,我了解到Windows 8.1 API中有RenderTargetBitmap

RenderTargetBitmap a = new RenderTargetBitmap();
await a.RenderAsync(myMedia);
thumb.Source = a;

第二种方法是借助 WinRTXamlToolkit.Composition 工具包获得的,该工具包使用 WriteableBitmapRenderExtensions 类进行渲染

WriteableBitmap w = await WriteableBitmapRenderExtensions.Render(myMedia);
thumb.Source = w;

这两种方法都适用于所有 UIElement ,但不适用于 MediaElement

将此源​​文件提供给Image对象时,只能看到黑屏。

任何人都可以告诉我为什么吗?以及如何从视频中获取缩略图?

1 个答案:

答案 0 :(得分:0)

您提到的方法似乎在这方面受到限制。我仍然会尝试使用RenderTargetBitmap,但是在MediaElement之上覆盖了一些东西。我相信如果你在MediaElement上放置任何东西,比如0.01不透明度,1x1大小的黑色矩形 - 它将切换到一些不同的渲染模式,RenderTargetBitmap可以渲染它。否则,我认为有人在这里讨论了一个从视频流中捕获帧的问题。 IIRC这是一个非常复杂的过程,涉及使用DirectX或Media Foundation以及相当多的本机代码。