Я разрабатываю приложение с помощью WPFMediaKit VideoCaptureElement для отображения входного потока, поступающего из Datapath VisionL C -HD.
С помощью VideoCaptureElement напрямую мне удалось показать удаленный P C, но я бы нравится использовать (потому что проект, над которым я работаю, был таким образом разработан) Стиль в ResourceDictionary
Стиль выглядит следующим образом
<Style TargetType="{x:Type local:VInPlayer}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:VInPlayer}">
<Border BorderBrush="Red" BorderThickness="3">
<controls:VideoCaptureElement x:Name="cameraCaptureElement1" EnableSampleGrabbing="False"
DeeperColor="True" />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Программно я устанавливаю источник
Dim vce As VideoCaptureElement = GetTemplateChild("cameraCaptureElement1")
If vce IsNot Nothing Then
vce.BeginInit()
vce.Height = 1080
vce.Width = 1920
vce.VideoCaptureDevice = MultimediaUtil.VideoInputDevices(0)
vce.LoadedBehavior = WPFMediaKit.DirectShow.MediaPlayers.MediaState.Play
AddHandler vce.MediaFailed, AddressOf MediaFailedHandler
vce.EndInit()
End If
MultimediaUtil.VideoInputDevices(0)
- это Datapath VisionL C -HD, но каждый раз, когда отображается элемент, я получаю исключение MediaFailed и появляется сообщение об ошибке «Параметр неверен». MultimediaUtil.VideoInputDevices(0)
не является Nohting, свойство Name показывает «Datapath VisionL C -HD Video 01».