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

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...