Sounds abspielen, ohne sie jedesmal neu zu laden

stevey

Aktives Mitglied
Hey Leute,
ich bin jetz bei meinem Spiel an dem Punkt angelangt, an dem ich Sounds und Musik einfügen will. Da ich das bisher noch nie in Java gemacht habe, tu ich mich auch dem entsprechend schwer. Ich verwende javax.sound.sampled.* und hab folgende Methode, um Sound abzuspielen:
Java:
public void playSound(String path)
{
    try {
	     URL url = new File(path).toURI().toURL();
	     AudioInputStream audioIn = AudioSystem.getAudioInputStream(url);
	     Clip clip = AudioSystem.getClip();
	     clip.open(audioIn);
	     clip.start();
    } catch(Exception e) {e.printStackTrace();}
}
Nur finde ich diese Lösung nicht wirklich schön und performant, da er bei jedem Abspielen den Sound neu laden muss...vielleicht verstehe ich da auch entwas komplett falsch, aber ich weiß ned, wie ich den Sound intern speichern kann...

Ich hoffe ihr könnt mir helfen, euer stevey
 

Fu3L

Top Contributor
Java:
//Bei erstmaligen Laden:
AudioClip a = Applet.newAudioClip(getClass().getClassLoader().getResource(soundFolder + "/" + name));

//später:
a.play();

Streams sind denke ich eher für riesige Sounds, die den Hauptspeicher zu sehr zumüllen.
 

stevey

Aktives Mitglied
so hatte ich es auch zuerst, aber mein Problem damit war, dass ich einen Sound nicht schnell hintereinander abspielen konnte...
 

Kr0e

Gesperrter Benutzer
Arbeite auch grad damit. Diese Sound schnittstelle von Javax ist nicht die schnellste/effizienteste. OpenAL könnte da Abhilfe schaffen, oder vlt. JMF...

Ich nehme allerdings dennoch die Javax Impl. Ich starte die Clips jedes mal neu in einem ThreadExecutor. GIbt für Java only keine bessere Variante leider...

Java + Media = Nein Danke! Verwende bei Mediaprojekten, sofern du kannst, lieber externe Libs oder ne andere Sprache...
 

stevey

Aktives Mitglied
@Kr0e
jaa, mit externen Bibliotheken is das immer so ne Sache, ich nimm die nur sehr ungern her...und bei deiner Implementation muss der Sound ja auch jedes mal neu geladen werden, oder?

@Ralph-Uwe
wenn ich das Programm jetzt richtig verstanden habe, dann wir da auch jedes mal der Sound neu geladen, bevor ich ihn wieder abspielen kann.
 

Ralph-Uwe

Bekanntes Mitglied
Hi,


Ich kenne kein Soundprogramm, dass eine Sounddateien im Speicher hält.
Standardmäßig werden die Sound immer von den Datenträger nachgeladen. (Ich denke
gerade an eine Wave-Datei, die gerne mal 50MB haben kann)

Bei der Klasse Sound werden immer Datenblöcke aus der Datei gelesen und an die Soundkarte geschickt.
Das hat zur folge, dass wenig Speicher benötigt wird. Der Sound läuft in einem eigenen Thread,
so das der weitere Programmablauf durch den Sound nicht gestört wird.


Ich kann mir vorstellen eine Sounddatei in einem Array zu speichern und von dort an die
Soundkarte zu schicken. Man müßte der Klasse Sound eine Methode hinzufügen, die ein Array
mit dem Sound bereit stellt. Beim Starten werden dann die Daten aus dem Arry geladen statt
von einem Datenträger.
 

stevey

Aktives Mitglied
achso, na wenn das so üblich ist, dann kann ichs ja so lassen. Ich hab mir nur gedacht, dass das etwas unperformant ist, aber bei Sounds mit ein paar kb ist das sicher nicht so schlimm.

Danke für die Hilfe
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Sounds abspielen Spiele- und Multimedia-Programmierung 11
S Uneffizientes Abspielen von Sounds?! Spiele- und Multimedia-Programmierung 4
N Totaler Absturz beim mehrmaligen Abspielen von Sounds Spiele- und Multimedia-Programmierung 5
0 Crashes beim Abspielen von Sounds unter Win98 Spiele- und Multimedia-Programmierung 12
G Abspielen von Sounds in Java3D Spiele- und Multimedia-Programmierung 13
Grevak Sounds im Spiel Spiele- und Multimedia-Programmierung 5
M Parallele Sounds Spiele- und Multimedia-Programmierung 4
ruerob Problem bei Fade-Out von Sounds Spiele- und Multimedia-Programmierung 3
R Kostenlose Sounds & Musik? Spiele- und Multimedia-Programmierung 3
N Wo Sounds downloaden Spiele- und Multimedia-Programmierung 5
M Images/Sounds für Spiele Spiele- und Multimedia-Programmierung 3
M Audio Track einer Musik CD abspielen mittels vlcj-Bibliothek Spiele- und Multimedia-Programmierung 0
P .Wav Datei vor main-Methode abspielen? Spiele- und Multimedia-Programmierung 9
S AAC abspielen Spiele- und Multimedia-Programmierung 9
MABY Eine mp3 Datei in Java abspielen Spiele- und Multimedia-Programmierung 14
Blender3D VLCJ Video lässt sich nicht mehr abspielen nach mysql Installation Spiele- und Multimedia-Programmierung 1
K Sound im loop abspielen, wenn boolscher wert true ist Spiele- und Multimedia-Programmierung 3
J Musik abspielen Spiele- und Multimedia-Programmierung 11
C Midi abspielen und Listener anmelden? Spiele- und Multimedia-Programmierung 1
I Sound Dateien abspielen Spiele- und Multimedia-Programmierung 9
C Sound einfügen und abspielen Spiele- und Multimedia-Programmierung 6
H wma Datei abspielen: java.io.IOException: Resetting to invalid mark Spiele- und Multimedia-Programmierung 11
F Einen Sound mit veränderter Tonhöhe und Geschwindigkeit abspielen - Hilfe erbeten Spiele- und Multimedia-Programmierung 29
F Problem mit dem Abspielen von byte[] (Audioprogrammierung) Spiele- und Multimedia-Programmierung 2
C Problem mit Abspielen von Audio-Dateien Spiele- und Multimedia-Programmierung 3
F WAV Abspielen Spiele- und Multimedia-Programmierung 15
P Video in JAVA abspielen,... Spiele- und Multimedia-Programmierung 3
T Sound schneller abspielen Spiele- und Multimedia-Programmierung 4
Guybrush Threepwood Beste Möglichkeit zum Abspielen von MP3 Spiele- und Multimedia-Programmierung 3
StrikeTom .gif animation als image abspielen Spiele- und Multimedia-Programmierung 2
W CannotRealizeException (jmf) beim abspielen eines liedes Spiele- und Multimedia-Programmierung 3
P Sound auf zwei Lautsprechern getrennt abspielen Spiele- und Multimedia-Programmierung 9
A wav datei aus jar Abspielen Spiele- und Multimedia-Programmierung 7
N bei abspielen der wav datei fehler Spiele- und Multimedia-Programmierung 6
H JMF - Video Abspielen Spiele- und Multimedia-Programmierung 12
R Wave-Datei mit JLayer abspielen Spiele- und Multimedia-Programmierung 4
B videos abspielen Spiele- und Multimedia-Programmierung 2
B Frage zum Abspielen von Sounddateien Spiele- und Multimedia-Programmierung 2
E Programmierung eines 2.5D Point&Click Adventures ohne Spieleengine machbar? Spiele- und Multimedia-Programmierung 14
J Bild ohne Quallitätsverlust skalieren Spiele- und Multimedia-Programmierung 11
E Rotation um Bildmittelpunkt ohne Affine Transform!!!!! Spiele- und Multimedia-Programmierung 13
A 2D Spiel ohne Tiles Spiele- und Multimedia-Programmierung 10
S Mausklicks innerhalb eines JFrames/SWTBrowser ohne richtige Maus simulieren Spiele- und Multimedia-Programmierung 6
B Bild ohne Image auf die Festplatte streamen Spiele- und Multimedia-Programmierung 4
Devil0s 2D Stadt Generator/2D Welt speichern OHNE Tiles Spiele- und Multimedia-Programmierung 5
H zwei ints als key in map (ohne long) Spiele- und Multimedia-Programmierung 16
M Multiplayer Game mit Frontend auf HTML5 - ohne ständigen Client Request - Möglich?! Spiele- und Multimedia-Programmierung 12
B Bilder in GUI ändern ohne repaint() Spiele- und Multimedia-Programmierung 6
C java 3d ohne Java3d Spiele- und Multimedia-Programmierung 28
H Skalierung eines Polygons ohne das es verschoben wird Spiele- und Multimedia-Programmierung 3
K Java3D als Applet ohne Installation von Java3d Spiele- und Multimedia-Programmierung 6
M Eigene Renderengine ohne Java3D,etc. Spiele- und Multimedia-Programmierung 19
M Aktien-Spiel ohne GUI Spiele- und Multimedia-Programmierung 28
aze Java3D: Gegenstände aufeinander zubewegen ohne Kollision Spiele- und Multimedia-Programmierung 4
A JMF ohne Installation Spiele- und Multimedia-Programmierung 4
Developer_X Sound Lautstärke ohne spezifische API regulieren Spiele- und Multimedia-Programmierung 3
L JMF Player spielt mp3 nur ohne Ton Spiele- und Multimedia-Programmierung 14
M Binärbaum ohne Überlappung zeichnen Spiele- und Multimedia-Programmierung 3
T 3D-Tetris Feld neuzeichnen ohne neue Branchgroup Spiele- und Multimedia-Programmierung 18
O Java3D-Applet ohne Java3D-Runtime ausführen Spiele- und Multimedia-Programmierung 2
L klick auf ComboBox ohne ActionListener --> CPU ausgelaste Spiele- und Multimedia-Programmierung 13
H Tic Tac Toe / 3 Gewinnt OHNE Applet Spiele- und Multimedia-Programmierung 9
S 3D Objekte ohne Java3D darstellen? Spiele- und Multimedia-Programmierung 10
B Sudoku Generator ohne Solerver möglich? Spiele- und Multimedia-Programmierung 20
G Farbig zeichnen ohne java.awt.Color? Spiele- und Multimedia-Programmierung 5

Ähnliche Java Themen


Oben