Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Guten Tag
Ich habe ein Programm geschrieben welches für die Ausgabe in der CMD ausgerichtet ist. Eine Methode verlangt eine Verzeichnisangabe um die jeweilige Sounddatei zu finden.
Java:
import java.io.File;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
public class Sound {
public static void main(String[] args) {
File beat = new File("/Users/Sveta/Desktop/SoundPlay/beat.wav"); // Verzeichnis-Pfad
PlaySound(beat);
}
public static void PlaySound(File Sound) {
try{
Clip clip = AudioSystem.getClip();
clip.open(AudioSystem.getAudioInputStream(Sound));
clip.start();
// clip.stop();
Thread.sleep(clip.getMicrosecondLength());
} catch (Exception e) {
}
}
}
Besteht die Möglichkeit, diesen lokalen Pfad so zu formulieren, dass es ein globaler Pfad ist, sprich, jemanden mein Programm schicken könnte, er diese ausführt und auch den Sound hört (logischerweise mit der Sounddatei mitschicken). Die Person hat ja höchstwahrscheinlich einen anderen Pfad als ich
Im Internet fand ich nur allgemeine Lösungsvorschläge wie ../../datei. Leider nicht die Lösung für mein Problem.
Funktioniert in der Eclipse-Console aber nicht in der CMD Consoloe =/
Hab die try/catch rausgenommen um zu schauen welcher Fehler kommt.
Exception in thread "main" java.io.FileNotFoundExeption : C:\Users\Sveta\SoundPlay\bin\beat.wav
(Das System kann die angegebene Datei nicht finden)
mysteriös
Edit: Wenn ich übrigens < File beat = new File("beat.wav"); > eingebe, sprich nur die Datei an sich, spielt die Eclipse-Console das auch wunderbar ab, aber die CMD gleiche Exception wie oben beschrieben.
Du brauchst nicht das try/catch rausnehmen, es würde schon reichen wenn du im catch-Block "e.printStackTrace()" schreibst
Dann wird bei einem Fehler der entsprechende StackTrace ausgegeben.
Edit: Hattest recht Nuiton hab die Exception nochmal genau durchgelesen. Der hat die Datei nicht im SoundPlay Ordner gesucht, sondern im bin-Ordner gesucht .
Hab die Datei jetzt in den bin-Ordner gepackt und es funktioniert wunderbar
Offtopic:
Hab jetzt soweit alles geschrieben und wollte es zu einer runnable jar machen, so das der Benutzer nur noch auf die Datei klickt und das CMD mit dem Programm startet. Mach ich da was falsch?
Projekt wählen -> Export -> Java -> Runnable JAR file -> Speicherort festlegen
bzw. ich erstelle dafür lieber ein neues Thema
Edit: gelöst. Danke nochmal für die Hilfe lokal->global