2016-07-27 21 views
1

Ich habe eine Konsolenanwendung, mit der ich versuche Musik zu integrieren. Also entschied ich mich, mit XNA Framework zu gehen, um es fertig zu bekommen, denn es ist das einzige, was ich kenne , das tut.XNA Content Manager kann Dateien nicht laden

So habe ich das Content-Manager-RootDirectory auf ein Content-Projekt, das ich hinzugefügt habe. Ich habe die mp3-Datei im Projekt, aber es wird immer eine Ausnahme geworfen, die besagt, dass sie nicht gefunden werden kann, wenn ich versuche, sie zu laden.

Gibt es eine Möglichkeit, den Inhalt des Verzeichnisses, in dem ich RootDirectory eingerichtet habe, auf der Konsole auszudrucken?

Welche anderen Alternativen könnte es geben, wenn das Problem ist, dass ich XNA verwende, und es funktioniert nicht, weil es kein XNA-Projekt ist?

+2

_ "Ich habe eine Konsolenanwendung .... integriere Musik ... Also entschied ich mich, mit XNA zu gehen ... weil das einzige, was ich weiß, das tut" _ - Was ist los mit .NET [ 'SoundPlayer.Play'] (https://msdn.microsoft.com/en-us/library/system.media.soundplayer.play (v = vs.110) .aspx)? – MickyD

+0

Hey Entschuldigung für die Verzögerung, ich half einem Kumpel zu bewegen ... das, warum "das ich weiß", warum ich fragte, ob es eine Alternative gab ... aber lass mich das testen. Ich bin vertraut mit Xna Framework, warum ich mich an sie wandte nicht von der .Net Lib – chewbapoclypse

+0

Kein Problem. Hoffe, der Umzug ging gut – MickyD

Antwort

2

Verwenden Sie einfach good ol‘SoundPlayer.Play

Die Play-Methode gibt den Ton einen neuen Thread verwenden. Wenn Sie Play aufrufen, bevor die WAV-Datei in den Speicher geladen wurde, wird die WAV-Datei vor Beginn der Wiedergabe geladen. Mit der LoadAsync- oder Load-Methode können Sie die WAV-Datei vorab in den Speicher laden. Nachdem eine WAV-Datei erfolgreich aus einem Stream oder URL geladen wurde, müssen zukünftige Aufrufe von Wiedergabemethoden für den SoundPlayer die WAV-Datei nicht erneut laden, bis sich der Pfad für den Sound ändert.