2016-04-08 7 views
1

Ich arbeite an einem "nur Text" -Spiel mit Konsolenanwendung. Ich suchte nach Möglichkeiten, meiner Anwendung Sound hinzuzufügen, aber alle Lösungen, die benötigt wurden, um einen Pfad zum Speicherort der .wav-Datei hinzuzufügen. das würde funktionieren, aber ich möchte mein Spiel später veröffentlichen. und der Speicherort der Datei stimmt nur mit meinem PC überein, der Benutzer, der sie herunterlädt, kann die Inhaltsdatei an einem anderen Ort als c:/Mygame/Content ablegen. Was ist, wenn er mehrere Festplatten hat? oder eine Diskette auf Schlüssel? Das Programm spielt den Ton nicht, weil es den Ton nicht finden kann. irgendwelche Ideen?Wie erstellt man eine Inhaltsdatei und navigiert sie von einer Konsolenanwendung aus?

+0

Haben Sie stattdessen einen relativen Pfad versucht? Legen Sie Ihre Sound-Datei in das Verzeichnis bin und dann nur den Dateinamen 'foo.wav' – BobbyJ

Antwort

0

Sie sollten in der Lage sein, Ihre Konsolenanwendung auf die .wav-Formatdatei über einen relativen Pfad (etwa "~/Inhalt") verweisen zu lassen und ihn in Bezug auf das aktuelle Verzeichnis der Anwendung aufzurufen. Sie könnten ein einfaches Installationsprogramm erstellen (oder einfach die WAV-Datei-Site im Programmverzeichnis haben, wenn Sie Ihre App einfach per Kopie bereitstellen), um Ihre App bereitzustellen.

Ich bin gerade bei der Arbeit, so kann ' t tun, um jede schnelle Prüfung, aber wenn diese Frage noch aussteht, wenn ich nach Hause komme ich heute Abend bis etwas verspotten werden und per Post hier

+0

sollte ich so etwas tun? 'SoundPlayer.SoundLocation = @" ~ \ kth; tls_content_orig \ DIE_ANTWOORD _-_ UGLY_BOY.wav "; –

+0

Sie können das ~ tatsächlich deaktivieren und @ @" kth; tls_content_orig \ DIE_ANTWOORD _-_ UGLY_BOY.wav "verwenden; Wie gesagt, ich muss testen, wenn ich nach Hause komme. Siehe auch A Wabbi's obige Antwort, da dies auch nützlich sein kann, wenn Sie Ihren Pfad vom aktuellen Arbeitsverzeichnis des Programms ableiten müssen (bestimmte Deployment-Schemata können diese Notwendigkeit verursachen). – Rocky

+0

bist du da? –

2

Speichern sie die WAV-Datei in einer Position in Bezug auf Ihre EXE-Datei und die Nutzung.

, um den Speicherort Ihrer EXE-Datei zur Laufzeit dynamisch abzurufen und an den Namen der .WAV-Datei anzuhängen.

+0

Nachdem ich den Speicherort der EXE-Datei gefunden hatte, hatte ich zwei Probleme; 1. Es läuft die .exe-Datei, (verflucht ist es. Aber wie kann ich es beheben? 2- seine Art von vermasselt, haben viele Sounds Ende das Spiel selbst ist verloren. Kann ich den Inhalt in der Nähe in einem Foldr Irgendwie? –

1

Ich löste es selbst mit diesen Codezeilen: `string exe_location = System.Reflection.Assembly.GetExecutingAssembly(). Ort; exe_location = exe_location.Remove (exe_location.Length - 11); int last_path_chat = exe_location.Length;

 string sound_location = exe_location.Insert(last_path_chat, "DIE_ANTWOORD_-_UGLY_BOY.wav"); 

SoundPlayer.SoundLocation = sound_location; SoundPlayer.PlaySync();