Probleme beim starten von mp4 Dateien mit C# Windows Forms App?
Wie es der Titel schon beschreibt habe ich Probleme damit .mp4 Dateien per Button mit meiner Windows Forms App zu starten.
Probiert habe ich es zb. schon hiermit:
private void materialButton18_Click(object sender, EventArgs e)
{
string filePath = @"C:\Program Files\VBC-Files\Backgrounds\NSFW\AlbedoXLupusNormal.mp4";
if (!File.Exists(filePath))
{
MessageBox.Show("Please download the backgrounds first.", "File Not Found", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
System.Diagnostics.Process.Start(filePath);
}
}
Allerdings erhalte ich dann Fehler Meldungen wie diese hier: (Programm schmiert nach drücken des Buttons ab)
System.ComponentModel.Win32Exception: 'An error occurred trying to start process 'C:\Program Files\VBC-Files\Backgrounds\NSFW\AlbedoXLupusNormal.mp4' with working directory 'C:\Users\Anwender\source\repos\Votexs Background Changer\Votexs Background Changer\bin\Debug\net6.0-windows'. The specified executable is not a valid application for this OS platform.'
Ich habe auch schon versucht zb. von Windows Media Player den Pfad anzugeben, was nicht direkt in einem crash des Programms endet, allerdings öffnet sich dann halt einfach nichts.
System.Diagnostics.Process.Start(@"C:\Program Files (x86)\Windows Media Player\wmplayer.exe", fileName);
Mit .exe Dateien habe ich dieses Problem nicht und verstehe nicht warum er bei .mp4 Dateien so faxen macht.
Ich bin für jegliche Hilfe sehr dankbar.
1 Antwort
Ich habe auch schon versucht zb. von Windows Media Player den Pfad anzugeben, was nicht direkt in einem crash des Programms endet, allerdings öffnet sich dann halt einfach nichts.
Ich hab's eben mit einem Video getestet - läuft.
Das Problem liegt also nicht am Code, sondern an deiner Umgebung, oder an MP4, aber das glaube ich irgendwie nicht.
Wühl mal im Eventlog, vielleicht schreibt der Media Player eine Fehlermeldung dort rein, die mehr verrät.
.bat als Resource ist unnötig.
Aber wenn Du unbedingt willst, reicht es für einen Test auch aus, die Datei neben die exe zu legen.
Oder als embedded resource, aber dann hat der Name noch den Namespace vorne dran, gibt über die Assembly auch eine Methode, die alle Namen abruft.
Oder die Datei wird einfach nur ins Zielverzeichnis kopiert, muss man aber auch einstellen.
Wo sehe ich den eventlog? An der mp4 selber liegt es nicht. Normal starten kann ich sie ja auch. Starten mit hilfe eines batch scripts klappt auch einwandfrei.
Windows event log - einfach eine Suchmaschine deiner Wahl befragen.
Ich habe auch mal testweiße versucht die batch datei als resource zu meinem projekt hinzuzufügen und dann per code beim button click abrufen und starten zu lassen. Aber wieso auch immer findet er die bat datei nicht, obwhol ich 1 zu 1 den selben name benutze. Habe schon mit und ohne datei endung probiert. Ich bekomme halt direkt die message box reingedrückt.