Input/Output Sound Dateien aus Jar laden

VcVipeOut

Mitglied
Hallo Leute,
ich habe einen Code geschrieben, mit welchem ich eine Sound Datei lade
Java:
Clip current_Sound1;
          InputStream path1 = getClass().getResourceAsStream("Resources/snd.wav");
	      try{
	        current_Sound1 = AudioSystem.getClip();
	        current_Sound1.open(AudioSystem.getAudioInputStream(path1));
	        current_Sound1.start();
	 
	      }catch(Exception fail){
	        System.out.print("Exception: ");
            System.out.println(fail.getMessage());
	       }
als ungepacktes Programm also bei mir in BlueJ geht alles, nur dann später im Archiv werden die Sounds nicht mehr geladen bzw. abgespielt... ???:L
Jemand eine Idee, was ich ändern muss :)
Danke im Vorraus ;)
 

ceving

Aktives Mitglied
als ungepacktes Programm also bei mir in BlueJ geht alles, nur dann später im Archiv werden die Sounds nicht mehr geladen bzw. abgespielt...

Sind sie denn im JAR? Wie beförderst du sie da rein?

Code:
unzip -l my.jar

Listet den Inhalt eines JARs.

Hier habe ich mal beschrieben, wie man das Manifest aus dem JAR ausliest:
ceving: Reading Manifest attributes from a JAR

Grundsätzlich geht das was du vor hast. Ich habe das auch schon mal mit Resource-Dateien für StringTemplate gemacht. Aber du musst dich darum kümmern, dass die Dateien auch wirklich in das JAR wandern. Von alleine tun sie das nicht. Wie genau hängt natürlich von dem Programm ab, das bei dir die JARs erzeugt.
 
Zuletzt bearbeitet:

VcVipeOut

Mitglied
Hmm... komisch ich exportiere mein Java Archiv immer über BlueJ,
mir WinRAR habe ich mir die Ordnerstruktur angeguckt also: spiel.jar
-Frame.class
-Resources - - - - snd.wav
(Bilder in meinem Programm werden auch aus dem Resources Ordner geladen)
Dann müssten das Programm den Pfad der Audio Dateien doch auch finden oder nich ?? :bahnhof:
 

ceving

Aktives Mitglied
Ich bin mir nicht ganz sicher aber es kann sein, dass du eine URL benötigst, wenn du Dateien aus dem JAR lesen willst. Es kann sein, dass der Dateiname nicht reicht. Ich öffne in meinem Beispiel die Datei über eine URL:

Java:
        stream = new java.net.URL(manifest_url).openStream();
 

JavaDude

Mitglied
Hatte das gleiche Problem, ich zitiere mich einfach mal selbst:
Ah super, Lösung gefunden,stackoverflow sei Dank!
Für alle, die es interessiert:
Java:
try {
				String soundname = "Beispiel.wav";
				InputStream in1 = Timer.class.getResourceAsStream(soundname);
				BufferedInputStream in2 = new BufferedInputStream(in1);
				audioClip = AudioSystem.getClip();
				AudioInputStream ais = AudioSystem.getAudioInputStream(in2);
				audioClip.open(ais);
				audioClip.start();
			}catch(Exception e) {
				e.printStackTrace();
				StringWriter sw = new StringWriter();
				PrintWriter pw = new PrintWriter(sw);
				e.printStackTrace(pw);
				JOptionPane.showMessageDialog(null, "Failure!"+ "\n" + sw.toString());
			}
So hat es geklappt! Man muss also zunächst den Input Stream in einen BufferedStream packen, bevor man ihn übergibt, dann klappt es auch.

Hier auch der Link, erster Beitrag nach der Frage:
audio - java.io.IOException: mark/reset not supported - Stack Overflow
 

VcVipeOut

Mitglied
Hi danke erstma, beide Antworten waren sehr Hilfreich! :D
Ich habe es mal mit der Version von JavaDude geschrieben, bei mir kam kein Übersetzungsfehler aber wenn das Programm den Sound abspielen wollte kam immer das "Fehler Fenster" Screenshot: Anhang anzeigen 7051
Java:
 public void geklickt(){
         punkte = proklick + punkte;
	       
	     score.setText("Score:" +punkte);
	     if(feedback == true){
	         
	         try {
               String soundname = "Resources/asd.wav";
               InputStream in1 = Frame.class.getResourceAsStream(soundname);
               BufferedInputStream in2 = new BufferedInputStream(in1);
               audioClip = AudioSystem.getClip();
               AudioInputStream ais = AudioSystem.getAudioInputStream(in2);
               audioClip.open(ais);
               audioClip.start();
             }catch(Exception e) {
              e.printStackTrace();
              StringWriter sw = new StringWriter();
              PrintWriter pw = new PrintWriter(sw);
              e.printStackTrace(pw);
              JOptionPane.showMessageDialog(null, "Failure!"+ "\n" + sw.toString());
              }	           

	       
	       }
	     
	     
	       
    }
So habe ich meine Methode soweit (der Pfad ist richtig und alle Dateien vorhanden, falls das der Fehler ist)
 
Zuletzt bearbeitet:

JavaDude

Mitglied
Versuch mal, nur den reinen Dateinnamen einzugeben, ohne Pfadangabe. Wenn ich das System richtig verstanden habe, müsste der Class-Loader die Datei auch ohne Pfadangabe finden.
 

JavaDude

Mitglied
Dein Anhang lässt sich leider nicht öffnen, lade die Fehlermeldung mal bitte nochmal hoch.
Übrigens ist das Fehlerfenster ein Message-Dialog der JOptionPane, in die die Exception geschrieben wird :)
 

JavaDude

Mitglied
Okay, also was ich da rauslese (man möge mich korrigieren, wenn ich falsch liege), ist, dass der InputStream geschlossen wird bevor er dem BufferedStream übergeben wird, was zum Auslösen der Exception führt.
Rufst du in deinem Code irgendwann vor der Übergabe .close() auf?
Was genau steht in Codezeile 159 bei dir?
Heißt deine Klasse wirklich Frame?
 
Zuletzt bearbeitet:

VcVipeOut

Mitglied
Also .close() rufe ich nicht auf Frame ist auch richtig. So das ist meine Zeile 159: try {
angry = ImageIO.read(this.getClass().getResourceAsStream("Resources/angry.png"));
} catch (IOException ex) { //Zeile 159

}

PS: Dieser Befehl hat immer Funktioniert, außer ich habe mein Audio Code dabei... :confused:
 

VcVipeOut

Mitglied
Danke erstmal für deine Hilfe :D !!! Ich habe meinen Fehler gefunden: ich habe das ganze Projekt kopiert um andere Methoden aus zu probieren dabei ist mir die Sound datei igw kaputt gegangen, mit der neuen hat alles Super funktioniert :lol:
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Wiedergabe von .wav-Dateien(Sound)? Allgemeine Java-Themen 2
M TicTacToe Sound nach jedem Zug Allgemeine Java-Themen 21
ms_cikar JavaOSC (Open Sound Control) Allgemeine Java-Themen 1
J Java Sound Api Sound input und Output auswählen Allgemeine Java-Themen 4
J Sound mit Clip in Linux abspielen Allgemeine Java-Themen 3
J Sound mit Hall und Equalizer abspielen lassen Allgemeine Java-Themen 6
K Sound-Visualisierung in Java Allgemeine Java-Themen 0
Tacofan Sound abspielen Allgemeine Java-Themen 1
Tacofan Sound beim öffnen der GUI Allgemeine Java-Themen 8
javampir Seltsame Lücken beim Abspielen von Sound Allgemeine Java-Themen 2
D Library/Framework zum Umwandeln von Sound in Notenbilder Allgemeine Java-Themen 1
S Java sound pitch modulation Allgemeine Java-Themen 2
B Java Sound Memory Overload Allgemeine Java-Themen 0
B Javax.Sound Problem (setMessage-Methode) Allgemeine Java-Themen 2
DaniSahne96 Input/Output [Sound]Mp3 datein wiedergeben Allgemeine Java-Themen 8
I Sound abspielen aus einem Sample-Array Allgemeine Java-Themen 2
I javax.sound.sampled.* - Hilfe zu den Controls Allgemeine Java-Themen 8
G Threads Klasse Sound und Threads bleiben hängen Allgemeine Java-Themen 4
B AudioInputStream, bzw. Sound bearbeiten / splitten Allgemeine Java-Themen 2
Apo Java Sound Mark/Reset Exception Allgemeine Java-Themen 14
Developer_X Java Sound Lautstärke Allgemeine Java-Themen 10
A sound Allgemeine Java-Themen 4
R Sound unter Java Allgemeine Java-Themen 12
grudge Problem mit Sound Allgemeine Java-Themen 2
I Java und Sound Allgemeine Java-Themen 5
P Sound Buffer prüfen Allgemeine Java-Themen 12
C Sound stoppt Rest & Lautstärke-Problem Allgemeine Java-Themen 4
M Sound in datei abspeichern Allgemeine Java-Themen 3
T Java Sound Engine: Was liegt drunter? Allgemeine Java-Themen 7
E Nach Packen in Jar ist Sound nur noch abgehackt zu hören Allgemeine Java-Themen 2
oliver1974 Java Sound und gleichzeitger Zugriff auf Soundkarte Allgemeine Java-Themen 3
S sampled sound mixen Allgemeine Java-Themen 15
T Sound in JFrame: Ich krichs nich hin =( Allgemeine Java-Themen 7
S Kein Sound in Java Applets unter Win 9x Allgemeine Java-Themen 4
P kein sound bei freenet spielen Allgemeine Java-Themen 2
H Java Sound Allgemeine Java-Themen 2
M Sound anhand von gegebener Frequenz abspielen Allgemeine Java-Themen 2
D Sound ruckelt. Allgemeine Java-Themen 9
M Sound abspielen ohne Sounddatei Allgemeine Java-Themen 5
H Sound wiedergabe und Threads Allgemeine Java-Themen 3
bernd Sound abspielen? Allgemeine Java-Themen 6
K Sound abspielen in Java 1.5 Allgemeine Java-Themen 6
G Mit Klassenlader Sound Ressourcen laden Allgemeine Java-Themen 10
C Sound: Keine Line gefunden. Zu großer internal buffer? Allgemeine Java-Themen 3
P javax.sound: clip.stop(); Allgemeine Java-Themen 4
L Java Sound Allgemeine Java-Themen 2
Thomasneuling Java Jar datei erstellen, von Projekt, dass auch Javafx Dateien, FXML Dateien und CSS Dateien, sowie Bilder enthält? Allgemeine Java-Themen 14
G Dateien lesen Allgemeine Java-Themen 3
OnDemand Unterschiedliche jar Dateien zusammen führen Allgemeine Java-Themen 8
A Sicheres Löschen von Dateien Allgemeine Java-Themen 7
O git ignore für Intellji braucht es die .idea Dateien? Allgemeine Java-Themen 8
Master3000 Dateien zwischen verschiedenen Netzwerken senden Allgemeine Java-Themen 17
L Jar Dateien in Classpath laden ab JDK 9+ Allgemeine Java-Themen 11
d.lumpi JDA eclipse dateien versenden Allgemeine Java-Themen 4
O Produziert das Tool "jpackage" (ab JDK 14) .exe Dateien, die auf einer Zielumgebung ohne JRE lauffähig sind ?` Allgemeine Java-Themen 7
O Wie kann ich in Apache POI (Excel Dateien schreiben) Datumszellen in Excel erzeugen Allgemeine Java-Themen 6
T Meine Frage lautet wie ich 2 CSV Dateien miteinander in Java verbinde und Spalten die zueinander gehören durch den gleichen Key zusammen ausgebe? Allgemeine Java-Themen 5
L Dateien richtig auslesen Allgemeine Java-Themen 6
L Eclipse Runnable Jar mit Dateien Allgemeine Java-Themen 8
W Server-Thread schreibt nicht alle Dateien Allgemeine Java-Themen 6
MiMa Logging mit log4j2 in verschiedene Dateien? Allgemeine Java-Themen 22
I Klassen aus Jar-Dateien aus anderem Ordner laden Allgemeine Java-Themen 3
O jar und EXE Dateien, Pfade zur Laufzeit Allgemeine Java-Themen 1
W Dateien werden nicht gelöscht - warum? Allgemeine Java-Themen 12
B Dateien / Bilder von "webapp" Ordner bekommen? Allgemeine Java-Themen 1
P Erste Schritte Dateien löschen Allgemeine Java-Themen 4
H Erste Schritte Ausführbare Dateien lassen sich nicht starten Allgemeine Java-Themen 5
I Java als exe veröffentlichen inkl. kompletter Dateien Allgemeine Java-Themen 4
M Drucken von Dateien Allgemeine Java-Themen 10
J jar Dateien unter Windows 7 mit spezifischer jdk öffnen Allgemeine Java-Themen 2
I Laden von Informationen aus Dateien: Austauschbarkeit: 2 Dateien sinnvoll? Allgemeine Java-Themen 2
N Temporäre Dateien Allgemeine Java-Themen 3
Bluedaishi Druck Probleme mit PDF dateien Allgemeine Java-Themen 4
M Dateien schneller kopieren Allgemeine Java-Themen 1
M Dateien nach kopieren vergleichen Allgemeine Java-Themen 9
Arif Input/Output Dateien im Jar-Programm speichern Allgemeine Java-Themen 12
D Collections.sort funktioniert nicht in exportierten .class Dateien Allgemeine Java-Themen 10
K Große JSON-Dateien schnell und effizient verarbeiten Allgemeine Java-Themen 16
J Programm zum Download von CSV-Dateien Allgemeine Java-Themen 4
V Eclipse .class Dateien Allgemeine Java-Themen 9
B Download von dateien Allgemeine Java-Themen 2
K Nicht alle class-Dateien im JRE? Allgemeine Java-Themen 2
MiMa Log4j in Dateien mit eigenem Namen schreiben Allgemeine Java-Themen 3
D Kopieren von Dateien aus einem Ordner in einen anderen Allgemeine Java-Themen 6
C Dateien in Jar aufrufen Allgemeine Java-Themen 14
X NetBeans Bilder und andere Dateien ins .jar schreiben und wieder aus .jar lesen Allgemeine Java-Themen 6
JavaWolf165 Externe .jar-Dateien in .jar-Datei intigrieren Allgemeine Java-Themen 0
X Dateien für Benutzer Sperren Allgemeine Java-Themen 4
D Dateien aus den Internet herunterladen Allgemeine Java-Themen 6
L Methoden Dateien älter als 30 Tage? Allgemeine Java-Themen 11
J .exe Dateien werden nicht gestartet obwohl Pfad richtig Allgemeine Java-Themen 6
RalleYTN Classpath Native Dateien(DLL, SO, JNILIB) Allgemeine Java-Themen 2
J Java .jar Dateien zusammenführen Allgemeine Java-Themen 1
L Best Practice Log Dateien analysieren und eventuell passende Daten am Chart darstellen Allgemeine Java-Themen 1
F Platzsparende Alternative zu .txt-Dateien Allgemeine Java-Themen 12
X Dateien von der Jar zum Ordner kopieren. Allgemeine Java-Themen 4
Ananaskirsche Input/Output Dateien im Ordner Allgemeine Java-Themen 8
A Input/Output Liste der Dateien in einem Ordner in einer Jar Datei erhalten Allgemeine Java-Themen 11
X Herunterladen von Dateien aus dem Internet Allgemeine Java-Themen 2
M Dateien aus einem Verzeichnis auf einem Server auflisten Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben