2011-09-01 15 views
6

Napisałem aplikację WPF, która przechwytuje wyświetlanie i dźwięk z karty TV od poprzez kod C#. Mogę pobrać wyświetlacz z karty TV, ale nie mogę uzyskać dźwięku z karty TV. BTW, używam .NET framework 3.5 z Visual Studio 2010. Moje pytanie brzmi: jak mogę uzyskać dźwięk z karty TV?Przechwytywanie dźwięku z karty telewizyjnej za pomocą C#

Na koniec próbowałem czegoś podobnego, używając biblioteki DirectSound DirectX. Jednak mam następujące błędy.

  1. Najlepszym przeciążona metoda mecz dla 'Microsoft.DirectX.DirectSound.Device.SetCooperativeLevel(System.Windows.Forms.Control, Microsoft.DirectX.DirectSound.CooperativeLevel)' ma pewne nieprawidłowe argumenty.
  2. Argument 1: nie można przekonwertować z 'Wpfvideo.MainWindow' do 'System.Windows.Forms.Control'

Kod:

private DS.Device soundDevice; 
private SecondaryBuffer buffer; 
private ArrayList soundlist = new ArrayList(); 

private void InitializeSound() 
{ 
    soundDevice = new DS.Device(); 
    soundDevice.SetCooperativeLevel(this, CooperativeLevel.Priority); 

    BufferDescription description = new BufferDescription(); 
    description.ControlEffects = false; 
    buffer = new SecondaryBuffer(CaptureDeviceName, description, soundDevice); 
    buffer.Play(0, BufferPlayFlags.Default); 
    SecondaryBuffer newshotsound = buffer.Clone(soundDevice); 
    newshotsound.Play(0, BufferPlayFlags.Default); 
} 
+0

otrzymujesz błąd, ponieważ metoda SetCooperativeLevel spodziewa się kontroli Windows Forms i przechodzą mu okno WPF. –

+0

dzięki za odpowiedź.Co mam zrobić? – Selo

+0

Nie ma "poprawki", ponieważ nie można przekształcić okna wpf w formant WinForm. –

Odpowiedz

4

Spróbuj tego:

var windowInteropHelper = new WindowInteropHelper(this); 
soundDevice = new DS.Device(); 
soundDevice.SetCooperativeLevel(windowInteropHelper.Handle, CooperativeLevel.Priority); 
0

Wezwanie do soundDevice.SetCooperativeLevel(...) spodziewa się kontroli WinForm jak to jest pierwszy parametr, a ty próbujesz dać okno WPF (które nie jest formantem WinForm).

Powiązane problemy