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.
- Najlepszym przeciążona metoda mecz dla
'Microsoft.DirectX.DirectSound.Device.SetCooperativeLevel(System.Windows.Forms.Control, Microsoft.DirectX.DirectSound.CooperativeLevel)'
ma pewne nieprawidłowe argumenty. - 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);
}
otrzymujesz błąd, ponieważ metoda SetCooperativeLevel spodziewa się kontroli Windows Forms i przechodzą mu okno WPF. –
dzięki za odpowiedź.Co mam zrobić? – Selo
Nie ma "poprawki", ponieważ nie można przekształcić okna wpf w formant WinForm. –