# Sound und Musik



## jeegeek (6. Mrz 2015)

Hallo zusammen,

ich habe mal wieder angefangen ein kleines 2d Spiel zu schreiben. Ich möchte das ganze gerne so umsetzen das es zu 100% in Java geschrieben ist und keine nativen Teile nutzt wie Slick2D oder LWJGL. Das funktioniert auch bis jetzt ganz gut, jedoch stehe ich jetzt vor dem Problem das ich gerne etwas Musik und Ton einfügen will. Wav Dateien sind ja für Musik nicht wirklich praktisch, habt ihr irgendwelche Ideen wie man in Java andere Formate abspielen kann wie z.B ogg oder mp3 ohne das man native Libs nutzen muss? Google konnte mir leider noch keine wirklichen Hilfen bieten.


----------



## Gucky (6. Mrz 2015)

Guck dir mal die Java Sound API an. Die müsste dir helfen können.


----------



## jeegeek (6. Mrz 2015)

Hallo,

danke für den Tipp. Die Java Sound API kann zwar nur PCM und Midi abspielen, jedoch lässt sie sich erweitern. Ich habe jetzt JLayer gefunden mit welchem es also möglich ist auch mp3 abzuspielen. JLayer gibt es hier: MP3 library for the Java Platform und setzt auf der Java Sound API auf. Hier noch einmal für alle die vor dem selben Problem stehen ein Code der eine MP3 abspielt.


```
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;

import javazoom.jl.decoder.*;
import javazoom.jl.player.Player;

public class Mp3Player
{

	public static void main(String[] args)
	{
		try
		{
			File file = new File("mp3/musik.mp3");
			FileInputStream fis = new FileInputStream(file);
			BufferedInputStream bis = new BufferedInputStream(fis);
			try
			{
				Player player = new Player(bis);
				player.play();
			}
			catch (JavaLayerException e)
			{
				e.printStackTrace();
			}
		}
		
		catch (FileNotFoundException e) {
			e.printStackTrace();
		}	
	}
}
```

Anscheinend kann man auch mit JavaFX mp3 abspielen.


----------



## RalleYTN (5. Apr 2015)

Ich habe für dich genau das richtige: https://www.youtube.com/watch?v=r7iZaiMtmgg


----------



## Androbin (6. Apr 2015)

```
import java.applet.Applet;
import java.net.URL;
import java.applet.AudioClip;

Applet.getAudioClip( URL url );

AudioClip#loop();
AudioClip#play();
AudioClip#stop();
```


----------

