我正在开发一个 Windows 8 应用商店应用程序,我遇到了这个问题,我希望用户从文件选择器中添加视频并管理它,问题是我想在 GridView 中显示视频图像,比如快照视频在某个位置,我尝试了媒体元素,它也无法正常工作,图像也没有意义。
问问题
922 次
3 回答
0
您在其他地方引用的您自己的解决方案至少适用于某些视频:
var thumb = await
storageFile.GetThumbnailAsync(
Windows.Storage.FileProperties.ThumbnailMode.PicturesView,
1000,
Windows.Storage.FileProperties.ThumbnailOptions.UseCurrentScale);
于 2013-02-21T09:49:27.467 回答
0
这个问题可能没有纯 C# 解决方案。也许 SharpDX 会让你这样做,但我没有尝试过,我不知道以前是否做过。如果你看这两个线程:
-- 您应该看到有一种TransferVideoFrame
方法可用于将帧从视频流复制到 DirectX 纹理。媒体引擎原生 C++ 视频播放示例展示了如何原生使用它。如果您搜索 TransferVideoFrame+SharpDX - 您可以找到在 C#中使用此方法的 SharpDX 版本的示例。将该帧传输到纹理后 - 您可以使用此处的和方法将纹理的内容复制到 a 中。您也可以使用此处将其保存到文件中,或者直接从 DirectX 纹理使用 WIC 将其保存到文件中,或者说 SharpDX Toolkit,如此处WriteableBitmap
Map
Unmap
BitmapEncoder
. 您可能希望构建缩略图缓存以避免每次显示列表时都必须处理视频,因此无论如何都应该保存到文件中。
于 2013-02-21T05:51:33.657 回答
0
我建议使用GetThumbnailAsync()
,它也同样有效。您甚至不需要获取视频属性或类似的东西。如果加载了 StorageFile,这应该适用于任何格式的普通视频。
于 2015-07-02T04:47:46.143 回答