Windows runtime 渲染不适用于MediaElement windows RT

Windows runtime 渲染不适用于MediaElement windows RT,windows-runtime,windows-store-apps,render,mediaelement,Windows Runtime,Windows Store Apps,Render,Mediaelement,我需要从使用MediaElement播放的视频中获取缩略图 为此,我了解到windows 8.1 API中有 RenderTargetBitmap a = new RenderTargetBitmap(); await a.RenderAsync(myMedia); thumb.Source = a; 第二种方法是借助WinRTXamlToolkit.Compositiontoolkit,它使用WriteableBitmapRenderExtensions类进行渲染 WriteableBitm

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

为此,我了解到windows 8.1 API中有

RenderTargetBitmap a = new RenderTargetBitmap();
await a.RenderAsync(myMedia);
thumb.Source = a;
第二种方法是借助WinRTXamlToolkit.Compositiontoolkit,它使用WriteableBitmapRenderExtensions类进行渲染

WriteableBitmap w = await WriteableBitmapRenderExtensions.Render(myMedia);
thumb.Source = w;
这两种方法都适用于所有UIElement,但不适用于MediaElement

当源指向图像对象时,只有黑屏可见


有人能告诉我为什么吗?如何从视频中提取缩略图?

您提到的方法似乎在这方面有所限制。我仍然会尝试RenderTargetBitmap,但会在MediaElement的顶部覆盖一些内容。我相信,如果你在MediaElement上放置任何东西,比如0.01不透明度、1x1大小的黑色矩形,它将切换到在不同的渲染模式下运行,在这种模式下,RenderTargetBitmap将能够渲染它。否则,我想有人在这里讨论了从视频流中捕获帧的问题。Irrc是一个相当复杂的过程,涉及到使用DirectX或Media Foundation和相当多的本地代码。

我只需要在Windows Store应用程序中捕获所需的框架,看起来很简单,但是还不能完成。(Filip,这是一个绝妙的建议,让我试试,很快就会回来!@Filip不走运,即使你在媒体元素顶部合成了一块画布,但媒体元素的内容仍然没有被捕获。