Я разрабатываю приложение для Windows 8 Store, у меня есть эта проблема, Я хочу, чтобы пользователь добавлял видео из файла picker, и я управлял им, проблема в том, что я хочу отображать изображения видео в GridView, , как снятый снимок видео в определенной позиции, я попробовал элемент мультимедиа, и он не работает также изображение, и это не имеет смысла.отображение видеоизображения в winRT gridview
ответ
Для решения этой проблемы может быть не просто C#. Возможно, SharpDX позволит вам это сделать, но я не пробовал, и я не знаю, было ли это сделано раньше. Если вы посмотрите на эти два потока:
- вы должны видеть, что есть TransferVideoFrame
метод, который можно использовать для копирования кадра из видеопотока в DirectX текстуры. Media engine native C++ video playback sample показывает, как вы можете использовать его изначально. Если вы ищете TransferVideoFrame + SharpDX - вы можете найти this sample, который использует SharpDX version of this method в C#. После переноса этого кадра на текстуру вы можете скопировать содержимое текстуры в WriteableBitmap
с использованием методов Map
и Unmap
, таких как here. Вы также можете сохранить его в файле либо с помощью BitmapEncoder
a here, либо непосредственно из текстуры DirectX в файл с использованием WIC или скажем SharpDX Toolkit, как в here. Вероятно, вы захотите создать кеш миниатюр, чтобы избежать необходимости обрабатывать видео каждый раз, когда вы показываете список, поэтому сохранение в файле - это то, что вы должны делать в любом случае.
Ваше собственное решение, которое вы процитировали в других местах, которые должны работать, по крайней мере, в некоторых видео:
var thumb = await
storageFile.GetThumbnailAsync(
Windows.Storage.FileProperties.ThumbnailMode.PicturesView,
1000,
Windows.Storage.FileProperties.ThumbnailOptions.UseCurrentScale);
Я предлагаю использовать GetThumbnailAsync()
, который работает так же хорошо. Вам даже не нужно получать свойства видео или что-то в этом роде. Если StorageFile загружен, это должно работать для обычного видео в любом формате.
- 1. Winrt GridView Virtualization
- 2. WinRT: отображение видеокадров
- 3. Изменить gridView position WinRT Xaml
- 4. WrTIing WinRT GridView Обработчик перетаскивания
- 5. Winrt IValueConverter on GridView item
- 6. WinRT GridView, но нет GridViewColumn
- 7. winRT, удаляющий элемент из gridview
- 8. Элементы Gridview как квадраты в WinRT (metro)
- 9. Цвет выделения GridView в WinRT Metro
- 10. Инкрементальная загрузка GridView с MVVMCross в WinRT
- 11. Хранение данных из GridView в WinRT
- 12. Отображение изображений в Gridview
- 13. Отображение изображений в gridview
- 14. Отображение валюты в gridview
- 15. Отображение изображений в Gridview
- 16. Отображение изображений в gridview
- 17. Отображение двух свойств в одном контейнере товаров с помощью WinRT
- 18. Отображение содержимого архива Zip в WinRT
- 19. BindCommand WinRT GridView и получить выбранный элемент
- 20. WinRT Gridview focus/selected item behavior
- 21. Как реализовать ленивую загрузку GridView на WinRT?
- 22. Отображение статического изображения в GridView?
- 23. Отображение свежих данных В GridView
- 24. Отображение ProgressRing в середине GridView
- 25. Поиск и отображение в gridview
- 26. отображение данных динамически в gridview
- 27. Отображение процентных значений в gridview
- 28. Отображение информации. В Gridview asp.net
- 29. Отображение данных DateWise в gridview
- 30. Отображение Повторные товары в GridView
Возможно, вам понадобится использовать Media Foundation и, возможно, DirectX и WIC, чтобы сохранить его в виде кеша эскизов. –