Zum Inhalt springen

Benutzung von DirectX.Capture.Capture in Citrix (C#)


Empfohlene Beiträge

Geschrieben

Hallo zusammen,

in der Hoffnung, hier eine Lösung für mein Problem zu finden, wende ich mich nun an euch.

Es geht darum, dass ich mir ein kleines Programm in C# geschrieben habe, welches die Möglichkeit bietet, Standbilder von der aktuellen Aufnahme einer Kamera zu erstellen. Benutzt wird die „DirectX.Captureâ€-Schnittstelle.

Dies funktioniert unter einen reinen Windows-Umgebung mit direkt angeschlossener Kamera problemlos. Jetzt habe ich allerdings das Problem, dass ich dieses Programm auch unter einer Citrix-Umgebung benutzen möchte.

Die Citrix-Sitzung wird auf meinem lokalen Computer gestartet, wo ich die entsprechende Kamera angeschlossen habe. Der Übernehmen der Kamera in die Sitzung als "Citrix HDX Web Camera" funktioniert problemlos. Die Funktionalität der Kamera habe ich in Skype getestet.

Der Aufruf bzw. die Initialisierung der Kamera in meinem Programm sieht folgendermaßen aus:

        private void InitializeCaptureDevice()

        {

            try

            {

                this.mFilters = new Filters();

                this.mCaptureDevice = new Capture(this.Filters.VideoInputDevices[int.Parse(ConfigurationManager.AppSettings["videodevice"])], null);


                string[] resolution = ConfigurationManager.AppSettings["auflösung"].Split('x');

                this.CaptureDevice.FrameSize = new Size(int.Parse(resolution[0]), int.Parse(resolution[1]));


                this.CaptureDevice.FrameRate = 15;

                this.CaptureDevice.PreviewWindow = this.Preview;

                this.CaptureDevice.FrameCaptured += new Capture.FrameCapturedHandler(CaptureDevice_FrameCaptured_Flipping);

                this.CaptureDevice.CaptureFrame();

            }

            catch (Exception e)

            {

                MessageBox.Show("Fehler bei der Initialisierung aufgetreten:\r\n" + e.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);

                this.Close();

            }

        }
Nun bekomme ich durch die Ausgabe in der MessageBox die Meldung
Die angegebene Methode wird nicht unterstützt.
. Der Stacktrace zeigt, dass er bei
this.CaptureDevice.FrameSize = new Size(...);

hängen bleibt. Kommentiert man diese Zeile aus, hängt er erneut in darauffolgenden Zeile, mit der selben Fehlermeldung.

„this.CaptureDevice†ist im Übrigen eine Instanz von „DirectX.Capture.Captureâ€. „this.Filter†von „DirectX.Capture.Filtersâ€.

Hat jemand von euch soetwas schon umgesetzt und eventuell einen Lösungsansatz parat? Ist mein Vorhaben überhaupt möglich?

Mit freundlichen Grüßen

Fighter456

Geschrieben (bearbeitet)

Wie sieht mCaptureDevice nach dem new aus?

Edit: Ich sehe gerade, DirectX.Capture ist nicht direkt von MS. Schau nach, was in der Bibliothek schiefgeht, oder wende dich an den Autor.

Bearbeitet von Klotzkopp

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...