Class AudioEngine
AudioEngine-Klasse bietet Methoden an, um Klänge (Sound)
und Musik (Music) im Spiel wiederzugeben.
Jede Audio-Datei kann sowohl als Musik als auch als Klang abgespielt. Der
Hauptunterschied zwischen Musik und Klang ist: Die
playMusic()-Methoden ermöglichen eine feinere Steuerung der
Wiedergabe durch zwei Parameter:
- Parameter
restart: Ob die aktuelle Musikwiedergabe von neuem gestartet werden kann. - Parameter
stop: Ob die neu gestartet Musikwiedergabe eine laufende Musikwiedergabe stoppen soll.
Die AudioEngine kann standardmäßig .wav, .mp3 und
.ogg Dateien abspielen. Wenn andere Dateierweiterungen benötigt
werden, muss eine eigene SPI-Implementierung geschrieben und dem Projekt
hinzugefügt werden.
- Author:
- Steffen Wilke, Matthias Wilke
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionvoidaddSound(SoundPlayback playback) Fügt eine Klangwiedergabe zur internen Verwaltung hinzu.allMusic()Liefert eine Liste mit allen Musikwiedergaben.Liefert eine Liste mit allen Klangwiedergaben.createSoundPlayback(String filePath, boolean loop) Erzeugt einSoundPlayback-Objekt zur angegebenen Datei.@NonNull SoundPlaybackcreateSoundPlayback(Sound sound, boolean loop) Erzeugt einSoundPlayback-Objekt, das vor dem Start konfiguriert werden kann.static AudioEngineLiefert die Singleton-Instanz derAudioEngine.@Nullable MusicPlaybackmusic()Liefert die aktuell relevante „Hauptmusik“.playIntroMusic(String intro, String loop) Spielt zwei als Zeichenkette angegeben Audiodateien ab: die Erste nur einmalig und die darauf Folgende in einer Endlosschleife.Spielt die als Zeichenkette angegebene Audio-Datei in einer Endlosschleife ab.playbacks.size()Setzt die aktuell abgespielte Audiospur auf einenLoopedMusicmit dem angegebenen Musik-Sound.Setzt die aktuell abgespielte Audiospur auf die angegebene Audiospur.Setzt die aktuell abgespielte Audiospur auf die angegebene Audiospur.Spielt die angegebene Audiospur ab.@NonNull MusicPlaybackplayMusic(Music music, Consumer<? super MusicPlayback> config, boolean restart, boolean stop) Spielt die angegebene Audiospur ab und erlaubt optional eine Konfiguration vor dem Start.Setzt die aktuell abgespielte Spur auf einenLoopedMusicmit dem angegebenen Musik-Sound.Setzt die aktuell abgespielte Spur auf einenLoopedMusicmit dem angegebenen Musik-Sound.Spielt den Klang einmalig ab, der durch einen Dateipfad als Zeichenkette angegeben wird.Spielt den Klang ab, der durch einen Dateipfad als Zeichenkette angegeben wird.Spielt den Klang ab, der alsSound-Objekt angegeben wird.Liefert denSoundzur angegebenen Datei.voidStoppt die Wiedergabe der aktuellen Hintergrundmusik.
-
Field Details
-
executor
-
-
Method Details
-
getInstance
Liefert die Singleton-Instanz derAudioEngine.- Returns:
- Die Singleton-Instanz.
-
playSound
Spielt den Klang einmalig ab, der durch einen Dateipfad als Zeichenkette angegeben wird.- Parameters:
filePath- Der Pfad zur Audiodatei als Zeichenkette.- Returns:
- Die gestartete Klangwiedergabe.
-
playSound
Spielt den Klang ab, der durch einen Dateipfad als Zeichenkette angegeben wird.- Parameters:
filePath- Der Pfad zur Audiodatei als Zeichenkette.loop- Gibt an, ob der Klang in einer Schleife abgespielt werden soll.- Returns:
- Die gestartete Klangwiedergabe.
-
playSound
Spielt den Klang ab, der alsSound-Objekt angegeben wird.- Parameters:
sound- Der abzuspielende Klang.loop- Gibt an, ob der Klang in einer Schleife abgespielt werden soll.- Returns:
- Die gestartete Klangwiedergabe oder
null, falls kein Klang übergeben wurde.
-
sound
Liefert denSoundzur angegebenen Datei.- Parameters:
filePath- Der Pfad zur Audiodatei als Zeichenkette.- Returns:
- Der geladene Klang.
-
createSoundPlayback
Erzeugt einSoundPlayback-Objekt, das vor dem Start konfiguriert werden kann.Im Gegensatz zu den
playSound-Methoden muss das von dieser Methode zurückgegebeneSoundPlayback-Objekt manuell mitPlayback.start()gestartet werden. Die benötigten Ressourcen werden jedoch sofort beim Aufruf dieser Methode reserviert und bleiben belegt, bis die Wiedergabe abgebrochen oder beendet wird.- Parameters:
sound- Der abzuspielende Klang.loop- Gibt an, ob der Klang in einer Schleife abgespielt werden soll.- Returns:
- Ein konfigurierbares
SoundPlayback-Objekt, das manuell gestartet werden muss.
-
createSoundPlayback
Erzeugt einSoundPlayback-Objekt zur angegebenen Datei.- Parameters:
filePath- Der Pfad zur Audiodatei als Zeichenkette.loop- Gibt an, ob der Klang in einer Schleife abgespielt werden soll.- Returns:
- Ein konfigurierbares
SoundPlayback-Objekt.
-
allSounds
Liefert eine Liste mit allen Klangwiedergaben.- Returns:
- Eine Liste mit allen Klangwiedergaben.
- Since:
- 0.47.0
-
addSound
Fügt eine Klangwiedergabe zur internen Verwaltung hinzu.- Parameters:
playback- Die zu verwaltende Klangwiedergabe.
-
playMusic
Spielt die als Zeichenkette angegebene Audio-Datei in einer Endlosschleife ab.playbacks.size()Wird diese Audio-Datei bereits abgespielt, so wird diese Wiedergabe nicht unterbrochen. Der Aufruf dieser Methode ist dann ohne Wirkung.
- Parameters:
music- Die als Zeichenkette angegebene Audio-Datei, die abgespielt werden soll.- Returns:
- Ermöglicht die Steuerung der Musikwiedergabe.
-
playMusic
Setzt die aktuell abgespielte Spur auf einenLoopedMusicmit dem angegebenen Musik-Sound.Hat keine Wirkung, wenn die angegebene Spur bereits läuft.
- Parameters:
sound- Der Klang, der abgespielt werden soll.- Returns:
- Ermöglicht die Steuerung der Musikwiedergabe.
-
playMusic
Setzt die aktuell abgespielte Audiospur auf die angegebene Audiospur. Hat keine Wirkung, wenn die angegebene Spur bereits läuft.- Parameters:
music- Die Audiospur, die gespielt werden soll.- Returns:
- Ermöglicht die Steuerung der Musikwiedergabe.
-
playMusic
Setzt die aktuell abgespielte Audiospur auf die angegebene Audiospur.- Parameters:
music- Die Audiospur, die gespielt werden soll.restart- Ob die laufende Musikwiedergabe der eigenen Musik (bestimmt mitObject.equals(Object)) neu gestartet werden soll.- Returns:
- Ermöglicht die Steuerung der Musikwiedergabe.
-
playMusic
Setzt die aktuell abgespielte Audiospur auf einenLoopedMusicmit dem angegebenen Musik-Sound. Hat keine Wirkung, wenn die angegebene Spur bereits läuft.- Parameters:
music- Die als Zeichenkette angegebene Audio-Datei, die abgespielt werden sollrestart- Ob die laufende Musikwiedergabe der eigenen Musik (bestimmt mitObject.equals(Object)) neu gestartet werden soll.stop- Ob die laufende Musikwiedergabe gestoppt werden soll.- Returns:
- Ermöglicht die Steuerung der Musikwiedergabe.
-
playMusic
Setzt die aktuell abgespielte Spur auf einenLoopedMusicmit dem angegebenen Musik-Sound. Hat keine Wirkung, wenn die angegebene Spur bereits läuft.- Parameters:
sound- Der Klang, der abgespielt werden soll.restart- Ob die laufende Musikwiedergabe der eigenen Musik (bestimmt mitObject.equals(Object)) neu gestartet werden soll.stop- Ob die laufende Musikwiedergabe gestoppt werden soll.- Returns:
- Ermöglicht die Steuerung der Musikwiedergabe.
-
playMusic
Spielt die angegebene Audiospur ab.- Parameters:
music- Die Audiospur, die gespielt werden soll.restart- Ob die laufende Musikwiedergabe der eigenen Musik (bestimmt mitObject.equals(Object)) neu gestartet werden soll.stop- Ob die laufende Musikwiedergabe gestoppt werden soll.- Returns:
- Ermöglicht die Steuerung der Musikwiedergabe.
-
music
Liefert die aktuell relevante „Hauptmusik“. In der Regel ist das die letzte Wiedergabe, die mitplayMusicgestartet wurde. Wenn die Musik gestoppt wurde, ist der Rückgabewertnull.- Returns:
- Die Hauptmusik oder
null.
-
playMusic
@API public @NonNull MusicPlayback playMusic(Music music, Consumer<? super MusicPlayback> config, boolean restart, boolean stop) Spielt die angegebene Audiospur ab und erlaubt optional eine Konfiguration vor dem Start.- Parameters:
music- Die Audiospur, die gespielt werden soll.config- Funktion zur Konfiguration der Wiedergabe vor dem Start; kannnullsein.restart- Ob die laufende Musikwiedergabe der eigenen Musik (bestimmt mitObject.equals(Object)) neu gestartet werden soll.stop- Ob die laufende Musikwiedergabe gestoppt werden soll.- Returns:
- Ermöglicht die Steuerung der Musikwiedergabe.
-
playIntroMusic
Spielt zwei als Zeichenkette angegeben Audiodateien ab: die Erste nur einmalig und die darauf Folgende in einer Endlosschleife.- Parameters:
intro- Die Eingangsmusik als Zeichenkette angegeben.loop- Die zu wiederholende Musik als Zeichenkette.- Returns:
- Ermöglicht die Steuerung der Musikwiedergabe.
-
allMusic
Liefert eine Liste mit allen Musikwiedergaben.- Returns:
- Eine Liste mit allen Musikwiedergaben.
-
stopMusic
Stoppt die Wiedergabe der aktuellen Hintergrundmusik.
-