Как WinRTs CaptureElement и класс MediaCapture работают вместе в деталях? - PullRequest
2 голосов
/ 14 марта 2012

довольно просто отобразить прямую трансляцию веб-камеры в вашем приложении.Просто поместите CaptureElement в пользовательский интерфейс, инициализируйте экземпляр MediaCapture, назначьте его свойству Source для CaptureElement и выполните MediaCaptures «StartPreviewAsync» (более подробную информацию можно найти по адресу http://blog.xyzzer.me/2012/01/22/displaying-webcam-preview-in-a-metro-app-using-winrt-and-xaml/).

Magic!

Ну, немного слишком много волшебства на мой вкус. Как бы я реализовал элемент управления, который делает то же самое? Используется для .NET Framework Guidelines Я смотрю на интерфейс, класс MediaCapture предлагает, и я ожидаю что-то, что CaptureElement можетиспользовать для того, чтобы получать и отображать видео-канал. Однако я ничего не нахожу. Должно быть, под капотом должно быть какое-то волшебство ... но какое? И как я смогу развить то же самое?

Вернемся к первому дню и до свидания!

1 Ответ

1 голос
/ 29 августа 2012

В WinRT XAML Toolkit теперь реализовано CameraCaptureControl , на которое вы можете посмотреть, как сделать что-то вроде CameraCaptureUI, и расширить, чтобы добавить все, что вам нужно.Если вы не можете что-то сделать таким образом - вы можете посмотреть этот образец в MSDN, чтобы узнать, как добавить различные специальные эффекты, используя MFT (Media Foundation Transforms) и фильтры Direct2D, если хотите.В противном случае - вы можете использовать Media Foundation напрямую или в сочетании с Direct3D , чтобы получить практически полный доступ к базовой медиа-структуре.

...