2015-05-21 68 views
0

XAML:WPFMediaKit:VideoCaptureElement是流在交替窗口中的視頻WPF

<WPFMediaKit:VideoCaptureElement 
     LoadedBehavior="Play" 
     StretchDirection="Both" 
     FPS="30" 
     Stretch="Uniform" 
     VideoCaptureSource="{Binding Path=CaptureDeviceName}" 
     UnloadedBehavior="Stop" 
     EnableSampleGrabbing="true" 
     DesiredPixelWidth="1280" 
     DesiredPixelHeight="1024" 
     Width="Auto" 
     Height="Auto" 
     x:Name="videoCapElement" 
     HorizontalAlignment="Stretch" 
     VerticalAlignment="Stretch" /> 

UserControl.xaml.cs:

public partial class UserControl1 : UserControl 
{ 
    DsDevice dev1 = MultimediaUtil.VideoInputDevices.FirstOrDefault(); 
    DsDevice dev2 = MultimediaUtil.VideoInputDevices.Skip(1).FirstOrDefault(); 

    public UserControl1() 
    { 
     InitializeComponent(); 

     try 
     { 
      if (dev1 != null) 
      { 
       videoCapElement.VideoCaptureDevice = dev1; 
       videoCapElement.VideoCaptureSource = dev1.Name; 
      } 
     } 
     catch (Exception ex) 
     { 
      System.Windows.MessageBox.Show(ex.Message); 
     } 
    } 
} 

有了上面的代碼中,當我指用戶控制多Window.xaml文件和從一個窗口導航到另一個窗口,我得到視頻流交替窗口。

+0

UserControl.xaml –

+0

+0

以上是我的UserControl.xaml –

回答

1
public partial class UserControl1 : UserControl 
{ 
    DsDevice dev1 = null; 

    public UserControl1() 
    { 
     InitializeComponent(); 

     videoCapElement.Stop(); 
     dev1 = MultimediaUtil.VideoInputDevices.FirstOrDefault(); 
     try 
     { 

      if (dev1 != null) 
      { 

       videoCapElement.VideoCaptureDevice = dev1; 
       videoCapElement.VideoCaptureSource = dev1.Name; 
       videoCapElement.Play(); 
      } 

     } 
     catch (Exception ex) 
     { 

      System.Windows.MessageBox.Show(ex.Message); 
     } 
    } 
} 
+0

當您從一個窗口導航到另一個窗口時,停止播放視頻 –