Schritt-für-Schritt-Anleitung: Erstellung eines Audioplayers für Android mit MediaPlayer und SeekBar
Erfahren Sie in unserem neuesten Blogbeitrag, wie Sie einen benutzerfreundlichen Audioplayer für Android mit MediaPlayer und SeekBar entwickeln. Lernen Sie Schritt für Schritt, wie Sie Abspiel-/Stoppfunktionen implementieren und die Songposition dynamisch ändern können. Tauchen Sie in die Welt der Android-Entwicklung ein und heben Sie Ihre Musik-Apps auf das nächste Level!
Android MediaPlayer
Die MediaPlayer-Klasse wird zum Abspielen von Audio- und Videodateien verwendet. Die häufig verwendeten Methoden der MediaPlayer-Klasse sind:
start()
stop()
release()
– Um Speicherlecks zu vermeiden.seekTo(position)
– Wird mit der SeekBar verwendet.isPlaying()
– Gibt an, ob das Lied abgespielt wird oder nicht.getDuration()
– Wird verwendet, um die Gesamtdauer zu ermitteln, die zur Bestimmung der oberen Grenze unserer SeekBar hilft. Diese Funktion gibt die Dauer in Millisekunden zurück.setDataSource(FileDescriptor fd)
– Wird verwendet, um die abzuspielende Datei festzulegen.setVolume(float leftVolume, float rightVolume)
– Wird verwendet, um die Lautstärke einzustellen. Der Wert ist eine Gleitkommazahl zwischen 0 und 1.
Projektstruktur
Wir benötigen drei Dinge, um eine Anwendung zu erstellen, die Audio abspielt und Ihnen ermöglicht, die Position des aktuellen Liedes zu ändern:
- MediaPlayer
- SeekBar mit Text – Um die aktuelle Fortschrittszeit neben dem Thumb anzuzeigen.
- Runnable Thread – Um die SeekBar zu aktualisieren.
Fazit
Durch das Klicken auf den FloatingActionButton wird die playSong
-Funktion ausgelöst, bei der wir das Lied pausieren und den MediaPlayer zurücksetzen. Sobald mediaPlayer.prepare()
aufgerufen wird, sind die Songdetails verfügbar. Wir können nun die Dauer abrufen und sie auf die maximale Position der SeekBar setzen. Wenn setLooping
auf false
gesetzt wird, wird verhindert, dass das Lied unendlich lange abgespielt wird, bis der Benutzer es stoppt. Wir starten den Thread, der die run
-Methode auslöst, die Teil der von uns implementierten Runnable
-Schnittstelle ist. Innerhalb der run
-Methode aktualisieren wir den Fortschritt jede Sekunde, wodurch die onProgressChanged
-Methode des SeekBar-Listeners ausgelöst wird. Wenn der Benutzer das Ziehen der SeekBar stoppt, wird onStopTrackingTouch
ausgelöst, wobei wir die Songposition auf der MediaPlayer-Instanz mit der seekTo
-Methode aktualisieren. Sobald das Lied abgeschlossen ist, setzen wir die Position der SeekBar zurück und geben die MediaPlayer-Instanz frei.
Schlusswort
Dieses Tutorial zeigt, wie Sie einen einfachen Audioplayer in Ihrer Android-Anwendung implementieren. Sie können das Projekt von GitHub herunterladen und das Lied selbst abspielen.