2015-06-02 96 views
0

有我的代碼。我在控制本身所在的右上角看到視頻,但主網格背景是空的。它應該通過VisualBrush拍攝視頻,對吧?我GOOGLE了幾個樣本,他們都使用相同的技巧,但它不工作...Vlc.DotNet WPF視頻背景問題

我也試圖把一些控制頂部的控制,但沒有顯示通過,因爲我假設它使用內部的WinForms控件,這是最頂級的。

那麼我如何獲得這個視頻作爲背景?

<Grid> 
    <vlc:VlcControl x:Name="myVlcControl" Width="100" Height="100" HorizontalAlignment="Right" VerticalAlignment="Top" /> 
    <Grid> 
    <Grid.Background> 
     <VisualBrush Stretch="Uniform"> 
      <VisualBrush.Visual> 
       <Image Source="{Binding VideoSource, ElementName=myVlcControl}" /> 
      </VisualBrush.Visual> 
     </VisualBrush > 
    </Grid.Background> 
</Grid> 
+0

你見過將是老版Vlc.DotNet的教程。 2015年初發布了一個更新的版本,該版本使用WPF HwndHost來顯示WinForms播放器。只是做了一些探討,我不認爲你可以使用VisualBrush和HwndHost。 – goobering

+0

好吧,這解釋了爲什麼它不起作用。任何替代品?我需要顯示rtsp流... –

+0

如果您只需要顯示您的Feed,那麼您可以嘗試使用MediaElement。很確定它支持RTSP和VisualBrushes。 – goobering

回答

0

MediaElement的支持RTSP得很好,但它可能不支持你想與之合作的編碼/容器。下面產生一個工作流的MediaElement,並且使用VisualBrush畫與MediaElement的網格的背景:

<Grid x:Name="LayoutRoot"> 
    <Grid.RowDefinitions> 
     <RowDefinition /> 
     <RowDefinition /> 
    </Grid.RowDefinitions> 

    <MediaElement x:Name="MyPlayer" 
       Width="640" 
       Height="480" 
       LoadedBehavior="Play" 
       Source="rtsp://granton.ucs.ed.ac.uk/domsdemo/v2003-1.wmv" /> 

    <Grid Grid.Row="1" 
     Width="320" 
     Height="240"> 
     <Grid.Background> 
      <VisualBrush Stretch="Uniform" Visual="{Binding ElementName=MyPlayer}" /> 
     </Grid.Background> 
    </Grid> 
</Grid> 
+0

是的,似乎MediaElement不支持RTSP + H.264(即我的相機正在生產) –