2017-05-18 8 views
0

Kann mir jemand sagen, den richtigen Weg, um eine C# WinForms-Anwendung bereitstellen, die gstreamer scharf verwendet? Die einzige Möglichkeit, es zum Laufen zu bringen, besteht darin, das gstreamer bin-Verzeichnis als Arbeitsverzeichnis meiner Anwendung zu definieren.gstreamer scharfe C# Anwendungsbereitstellung

Ich habe gesehen, Beispiele vorübergehend versucht, auf die verschiedenen Verzeichnisse gstreamer die Anwendung des Pfad zu setzen, aber dies noch nicht für mich zu arbeiten und ich bekomme Fehler, die DLL fehlen.

Environment.GetEnvironmentVariable("PATH") + ";C:\\gstreamer\\1.0\\x86\\bin\\"); 
     Environment.SetEnvironmentVariable("PATH", 
Environment.GetEnvironmentVariable("PATH") + ";C:\\gstreamer\\1.0\\"); 
     Environment.SetEnvironmentVariable("PATH", 
Environment.GetEnvironmentVariable("PATH") + ";C:\\gstreamer\\1.0\\x86\\lib\\"); 
     Environment.SetEnvironmentVariable("PATH", 
Environment.GetEnvironmentVariable("PATH") + ";C:\\gstreamer\\1.0\\x86\\"); 

Sollte ich nur alle Gstreamer-DLLs im Bin Driectory meiner Anwendung bereitstellen? Ich hatte gehofft, sie das Installationsprogramm ausführen zu lassen und dann konnte meine Anwendung es verweisen.

Jede Hilfe zu diesem würde sehr geschätzt werden.

Antwort

0

wahrscheinlich einfachste Lösung, die ich mit oben kommen kann, ist das GStreamer-bin-Verzeichnis im System des PATH manuell setzen.

0

Das Hinzufügen des bin-Verzeichnisses sollte ausreichen. Sie können unter https://github.com/Vocaluxe/Vocaluxe/blob/develop/Vocaluxe/Lib/Sound/Playback/GstreamerSharp/CGstreamerSharpAudio.cs sehen, wie die Initialisierung in Vocaluxe erfolgt.

+0

Ich dachte, dass nur die gstreamer sind auf den Weg gearbeitet hinzufügen, aber hier hatte ich es immer noch als das Arbeitsverzeichnis in Visual Studio festgelegt. Wenn ich es herausziehe und einfach manuell zum PATH oder temporär im Code hinzufüge (wie Sie es vorgeschlagen haben), bekomme ich das folgende Windows-Einblendfenster, ** _ "Der Prozedur-Einstiegspunkt g_socket_send_messages konnte nicht gefunden werden die dynamische Link-Bibliothek libgio-2.0-0.dll. "_ ** wenn die ** Parse.Launch (strPipelineDesc) ** Methode ausgeführt wird. – user3583535

+0

Können Sie gst-launch erfolgreich aus dem bin-Verzeichnis ausführen? – Darkice

+0

Ja Ich kann gst-starten erfolgreich aus dem bin dir – user3583535