Tutorials/Sound: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „Die Engine macht das Einbinden von Sounds sehr leicht. Unterstützt werden die folgenden Formate: * AAC * MP3 * MIDI * WAV Grundsätzlich gibt es zwei verschi…“) |
Fuchsf (Diskussion | Beiträge) (→Sound-Dateien in Ordnern) |
||
(6 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | + | {{DISPLAYTITLE:Tutorial: Sounds einbinden}} | |
− | + | {{Tutorial/Begin|Ziel= | |
− | + | Nach erfolgreichem Abschluss dieses Tutorials kannst du '''Soundeffekte und Musik in dein Spiel einbinden'''. | |
− | |||
− | |||
− | + | |Voraussetzungen= | |
+ | * Du hast bereits die Engine in deine [[Wikipedia:de:Integrierte Entwicklungsumgebung|IDE]] integiert. (z.B. [[Wikipedia:de:BlueJ|BlueJ]] oder [[Wikipedia:de:Eclipse|Eclipse]]) ([[Tutorials/BlueJ|Engine Alpha in BlueJ einbinden]]) | ||
+ | * Du hast das [[Tutorials/Einführung|Einführungstutorial]] bereits bearbeitet. | ||
+ | }} | ||
− | == Sound == | + | == Einführung == |
+ | |||
+ | Sounds lassen sich in der Engine Alpha leicht abspielen. Die Ressourcen müssen nur aus dem Projektordner geladen werden, vergleichbar mit dem Laden eines [[Tutorials/Einführung#Bilder|Bildes]]. | ||
+ | |||
+ | == Unterstützte Sound-Formate == | ||
+ | |||
+ | Zunächst benötigst du die abzuspielende Sound-Datei. Folgende Formate werden voll unterstützt: | ||
+ | |||
+ | * '''.wav-Dateien''': Unkomprimiertes Format, das sehr viel Platz in Anspruch nimmt, dafür aber gute Audio-Qualität liefert. | ||
+ | * '''.mp3-Dateien''': Komprimiertes Format, das wenig Platz in Anspruch nimmt und trotzdem ausreichende Qualität liefert. '''(empfohlen)''' | ||
+ | * '''.au-Dateien''': Eigenes Format von Sun (einem früheren Entwickler von Java), das so gut wie keine Beachtung findet. | ||
+ | |||
+ | '''.mid-Dateien (MIDI-Sequenzen)''' werden seit Version 3.0 der Engine nicht mehr unterstützt! | ||
+ | |||
+ | <div class="hinweisInfo"> | ||
+ | Hast du nun eine passende Sound-Datei, musst du diese nur in deinen Projektordner legen. | ||
+ | </div> | ||
+ | |||
+ | == Einbringen einer Sound-Datei == | ||
+ | |||
+ | <code>Sound</code> ist eine Klasse in der Engine Alpha. Damit bringst du die Sound-Datei in dein Programm ein. | ||
+ | |||
+ | === Laden eines Sounds === | ||
+ | |||
+ | Die Klasse <code>Sound</code> hat nur einen Konstruktor: | ||
− | |||
<source> | <source> | ||
− | Sound | + | public Sound (String dateiname) |
− | |||
</source> | </source> | ||
− | + | Dieser Konstruktor funktioniert für alle unterstützten Formate. Der Dateiname ist der Name deiner Sound-Datei im Projektordner, somit lädst du deine eigene Sounddatei zum Beispiel so: | |
+ | |||
<source> | <source> | ||
− | + | Sound meinSound = new Sound("meineSoundDateiImProjektordner.mp3"); | |
</source> | </source> | ||
− | |||
− | == | + | Dadurch wird der Sound aber nicht abgespielt, sondern erst mal nur in den Programmspeicher geladen. |
+ | |||
+ | === Abspielen eines Sound === | ||
+ | |||
+ | Zum Abspielen eines Sounds muss lediglich die <code>play()</code>-Methode des Sound-Objekts aufgerufen werden: | ||
+ | <source> | ||
+ | Sound meinSound = new Sound("meineSoundDateiImProjektordner.mp3"); // Laden des Sounds | ||
+ | meinSound.play(); // einmaliges Abspielen des Sounds | ||
+ | </source> | ||
− | + | Will man, dass der Sound in einer Endlosschleife wiedergegeben wird, so verwendet man statt <code>play()</code> <code>loop()</code>: | |
<source> | <source> | ||
− | + | Sound meinSound = new Sound("meineSoundDateiImProjektordner.mp3"); // Laden des Sounds | |
− | + | meinSound.loop(); // dauerhaftes Abspielen des Sounds | |
</source> | </source> | ||
− | + | === Anhalten eines Sounds === | |
+ | |||
+ | Zum ''Anhalten'' eines Sounds gibt es zwei Methoden: | ||
+ | * Mit <code>meinSound.pause();</code> wird der Sound nur pausiert, er kann danach mit <code>meinSound.unpause();</code> weiter abgespielt werden. | ||
+ | * Mit <code>meinSound.stop();</code> wird der Sound gestoppt, sodass er nicht weiter abgespielt werden kann. Mit <code>meinSound.play();</code> kann der Sound aber erneut von Beginn an abgespielt werden. | ||
+ | |||
+ | == Sound-Dateien in Ordnern == | ||
+ | |||
+ | Benutzt du viele Sound-Dateien, ist es vielleicht unübersichtlich, alle "einfach" in deinem Projektordner zu lagern. Du kannst natürlich auch einen neuen "Material"-Ordner anlegen und dann im Sound-Konstruktor den Pfad angeben, über deinen Ordner zu der gewünschten Sound-Datei. | ||
<source> | <source> | ||
− | + | Sound meinSound = new Sound("Material/meineSoundDatei.mp3"); // Laden des Sounds | |
</source> | </source> | ||
− | + | Möchtest du dies nutzen, kannst du dich darüber im [[Tutorials/IO#Arbeiten_mit_Verzeichnissen|Tutorial Dateien Schreiben und Lesen]] informieren. | |
+ | |||
+ | == Sounddateien im exportierten Projekt == | ||
+ | |||
+ | beim Exportieren des Projektes in eine .jar-Datei gehst du folgendermaßen vor: | ||
+ | |||
+ | # Vor dem Exportieren, entferne alle Sound-Dateien aus dem Projektordner | ||
+ | # Nach dem Exportieren, bringe alle Sound-Dateien in das selbe Verzeichnis wie die ausführbare .jar-Datei. Hast du Ordner genutzt, so bringe die Ordner in dieses Verzeichnis. Mehr hierzu im Tutorial [[Tutorials/Projekt exportieren|zum Exportieren von Projekten]]. | ||
+ | |||
+ | <div class="hinweisProbleme"> | ||
+ | Du kannst ein einfaches [https://github.com/engine-alpha/beispiel-sound/archive/master.zip Beispielprojekt] herunterladen, das eine Sounddatei öffnet und abspielt. | ||
+ | </div> | ||
+ | |||
+ | |||
− | + | [[Kategorie:Tutorial]] |
Aktuelle Version vom 16. Februar 2015, 18:12 Uhr
Inhaltsverzeichnis
Ziel
Nach erfolgreichem Abschluss dieses Tutorials kannst du Soundeffekte und Musik in dein Spiel einbinden.
Einführung
Sounds lassen sich in der Engine Alpha leicht abspielen. Die Ressourcen müssen nur aus dem Projektordner geladen werden, vergleichbar mit dem Laden eines Bildes.
Unterstützte Sound-Formate
Zunächst benötigst du die abzuspielende Sound-Datei. Folgende Formate werden voll unterstützt:
- .wav-Dateien: Unkomprimiertes Format, das sehr viel Platz in Anspruch nimmt, dafür aber gute Audio-Qualität liefert.
- .mp3-Dateien: Komprimiertes Format, das wenig Platz in Anspruch nimmt und trotzdem ausreichende Qualität liefert. (empfohlen)
- .au-Dateien: Eigenes Format von Sun (einem früheren Entwickler von Java), das so gut wie keine Beachtung findet.
.mid-Dateien (MIDI-Sequenzen) werden seit Version 3.0 der Engine nicht mehr unterstützt!
Hast du nun eine passende Sound-Datei, musst du diese nur in deinen Projektordner legen.
Einbringen einer Sound-Datei
Sound
ist eine Klasse in der Engine Alpha. Damit bringst du die Sound-Datei in dein Programm ein.
Laden eines Sounds
Die Klasse Sound
hat nur einen Konstruktor:
public Sound (String dateiname)
Dieser Konstruktor funktioniert für alle unterstützten Formate. Der Dateiname ist der Name deiner Sound-Datei im Projektordner, somit lädst du deine eigene Sounddatei zum Beispiel so:
Sound meinSound = new Sound("meineSoundDateiImProjektordner.mp3");
Dadurch wird der Sound aber nicht abgespielt, sondern erst mal nur in den Programmspeicher geladen.
Abspielen eines Sound
Zum Abspielen eines Sounds muss lediglich die play()
-Methode des Sound-Objekts aufgerufen werden:
Sound meinSound = new Sound("meineSoundDateiImProjektordner.mp3"); // Laden des Sounds
meinSound.play(); // einmaliges Abspielen des Sounds
Will man, dass der Sound in einer Endlosschleife wiedergegeben wird, so verwendet man statt play()
loop()
:
Sound meinSound = new Sound("meineSoundDateiImProjektordner.mp3"); // Laden des Sounds
meinSound.loop(); // dauerhaftes Abspielen des Sounds
Anhalten eines Sounds
Zum Anhalten eines Sounds gibt es zwei Methoden:
- Mit
meinSound.pause();
wird der Sound nur pausiert, er kann danach mitmeinSound.unpause();
weiter abgespielt werden. - Mit
meinSound.stop();
wird der Sound gestoppt, sodass er nicht weiter abgespielt werden kann. MitmeinSound.play();
kann der Sound aber erneut von Beginn an abgespielt werden.
Sound-Dateien in Ordnern
Benutzt du viele Sound-Dateien, ist es vielleicht unübersichtlich, alle "einfach" in deinem Projektordner zu lagern. Du kannst natürlich auch einen neuen "Material"-Ordner anlegen und dann im Sound-Konstruktor den Pfad angeben, über deinen Ordner zu der gewünschten Sound-Datei.
Sound meinSound = new Sound("Material/meineSoundDatei.mp3"); // Laden des Sounds
Möchtest du dies nutzen, kannst du dich darüber im Tutorial Dateien Schreiben und Lesen informieren.
Sounddateien im exportierten Projekt
beim Exportieren des Projektes in eine .jar-Datei gehst du folgendermaßen vor:
- Vor dem Exportieren, entferne alle Sound-Dateien aus dem Projektordner
- Nach dem Exportieren, bringe alle Sound-Dateien in das selbe Verzeichnis wie die ausführbare .jar-Datei. Hast du Ordner genutzt, so bringe die Ordner in dieses Verzeichnis. Mehr hierzu im Tutorial zum Exportieren von Projekten.
Du kannst ein einfaches Beispielprojekt herunterladen, das eine Sounddatei öffnet und abspielt.