|
|
|
|
Moin,
ich versuche gerade eine Mp3 oder Wav Datei mit C# und DirectX abzuspielen, jedoch bekomme ich dabei eine Fehlermeldung mit der ich nichts anfangen kann und auch leider nichts hilfreiches dazu gefunden habe. Deshalb hoffe ich hier kann mir jemand weiterhelfen.
Ich habe das aktuelle DirectX SDK installiert und in meinem Projekt einen Verweis auf "Microsoft.DirectX.AudioVideoPlayback.dll" sowie die using-Direktive hinzugefügt.
Der Code sieht dann folgendermaßen aus:
|
Code: |
private void button1_Click(object sender, EventArgs e)
{
try
{
Audio audioFile = new Audio("C:\alarm.wav");
audioFile.Play();
}
catch
{
MessageBox.Show("FEHLER");
}
}
|
|
Die Fehlermeldung sieht nun folgendermaßen aus:
Dazu mehrere Punkte.
1. Die Datei existiert unter dem Pfad
2. try/catch benutzt
3. tritt der fehler auf sobald der Button gedrückt wird, es wird keine Zeile Code aus der button_click methode ausgeführt. Daraus schließe ich, dass das eigentliche Problem auch nciht wirklich eine FileNotFoundException ist oder bin ich da falsch gewickelt?
Es wäre super, wenn mir da jemand weiterhelfen kann!
|
|
|
|
|
|
|
Hi,
das entspricht anscheinend folgendem Problem, die Loesung dort sollte dir helfen:
http://social.msdn.microsoft.com/Forums/lv-LV/vcgeneral/thread/5d1186ec-ad55-4929-b1e4-8806cdc758af
Problem ist wohl, dass die DirectX-Assembly zu alt ist und deshalb von Haus aus mit .NET 4 erstmal herumspinnt, bis man explizit sagt, dass das okay ist. Managed DirectX wurde ja vor einiger Zeit eingestellt.
Falls der obige Link nicht hilft, hat Google einige aehnliche Threads mit den Suchbegriffen
mixed mode assembly is built against version of the runtime and cannot be loaded in the 4.0 runtime
gefunden.
|
|
|
|
|
|
|
Irgendwie wurde bei dem Projekt aber keine App.Config angelegt. In anderen Projekten aber schon. Wenn ich sie nun selber erstelle hat das keine Auswirkung.
Aber wenn du sagst, dass Managed DirectX eingestellt wurde, muss es doch auch ne andere Möglichkeit geben mit DirectX oder? Wenn nicht, was würdest du empfehlen? Wie gesagt geht es mir erstmal nur um wav/mp3 abspielen.
Möchte einfach ne kleine Erinnerungsmethode mit nervigem Sound machen!
|
|
|
|
|
|
|
Wenns MP3 sein soll, habe ich da ehrlich gesagt keine Ahnung. SkunkyVillage hat da kuerzlich selbst mit herumexperimentert, soweit ich mich erinnere, aber ich weiss nicht, was daraus geworden ist.
|
|
|
|
|
|
|
| Zitat von Spackenfro
Irgendwie wurde bei dem Projekt aber keine App.Config angelegt. In anderen Projekten aber schon. Wenn ich sie nun selber erstelle hat das keine Auswirkung.
Aber wenn du sagst, dass Managed DirectX eingestellt wurde, muss es doch auch ne andere Möglichkeit geben mit DirectX oder? Wenn nicht, was würdest du empfehlen? Wie gesagt geht es mir erstmal nur um wav/mp3 abspielen.
Möchte einfach ne kleine Erinnerungsmethode mit nervigem Sound machen!
| |
Der Ersatz für Managed DirectX ist XNA. Da ist allerdings die Runtime verhältnismäßig groß.
Sonst kannst du dir das hier mal ansehen:
http://naudio.codeplex.com/
|
|
|
|
|
|
Thema: [C#/Dx] Mp3 abspielen |