Play audio from URLs, local files, and assets.
Current song metadata on Shoutcast and Icecast
Media3/ExoPLayer 1.9.0-alpha01
Source
Set the media source (URL or file path) to be played.
- This only prepares the song to be played later when the Play function is called.
Play
Play audio from the current media source.

Pause
Pause the media.

Stop
Stop the media playback and release resources.

Resume
Resume the media from the last paused position.

Volume
Set the volume of the player (range: 0.0 to 1.0).

Speed
Set playback speed for audio. Speed must be between 0.1 and 4.0.

Pitch
Sets the playback pitch. 1.0 is normal pitch, recommended: 0.5 to 2.0.

SeekTo
Seek to a specific position in milliseconds.

FastForward
Fast forward the media by specified milliseconds.

Rewind
Rewind the media by specified milliseconds.

CurrentPosition
Get the current playback position of the media.

Duration
Returns the duration of the current audio in milliseconds.

Next
Play the next song in the playlist.

Previous
Play the previous song in the playlist.

SetPlaylist
Set the playlist of songs to be played.
- songs: paths
GetPlaylist
Get the current playlist of songs.

SongsCount
Get the total number of songs in the playlist.

Repeat
Set playback repeat mode.
Shuffle
Enable or disable shuffle mode.

Loop
Enable looping within a specific range. Provide start and end in milliseconds.

DisableLoop
Disable the loop mode.

AlbumArt
Get the album art of a song stored on the device and save it as a file. If no album art exists, it uses an image from assets. Returns the file path.
ClearAlbumArtCache
Clear cached album arts to free up storage space.

SleepTimer
Set sleep timer in minutes.

CancelSleepTimer
Cancel sleep timer.

IsSleepTimerActive
Check if sleep timer is active.

NotificationContent
Set notification title and content.
NotificationAlbumArt
Updates the notification with the album art of the current song.
StartService
Start the player foreground service.

StopService
Stop the player foreground service.

GetMusicFiles
Get audio files of the specified type from the device and set them as a playlist. Use 'All' to fetch all types of audio. Specify sort order: 'title', 'artist', 'album', 'date', 'size', 'duration', or 'filename'.
ConvertToMilliseconds
Convert minutes and seconds to milliseconds.
ConvertToMinutesAndSeconds
Convert milliseconds to minutes and seconds.
SongTitle
Get song title.

ArtistName
Get artist name.

AlbumName
Get album name.

TrackNumber
Get track number.

Year
Get year of release.

Genre
Get music genre.

Composer
Get composer name.

Size
Get file size in readable format.

IsPlaying
Returns true if the player is currently playing.

AudioSessionId
Get Audio Session ID.

CurrentSongIndex
Returns the index of the currently playing song in the playlist. Returns 0 if no song is playing.

FadeDuration
Set the fade-in duration in milliseconds (default: 2000ms).
EnableFadeIn
Enable or disable fade-in effect for all playback.
SourceLoaded
Triggered when the media source has been loaded successfully.

MetadataUpdated
Triggered when song metadata is updated (currentSong and streamTitle only).

-
For now, you can only get data in currentSong.
- streamTitle will not be providing data for now; that will remain pending.
-
currentSong obtains the information set in Current Song from Shoutcast and Icecast.
AudioFocusLost
Triggered when audio focus is lost due to another player starting.

MediaPlay
Triggered when media starts playing.

MediaPause
Triggered when media is paused.

MediaStop
Triggered when media playback is stopped.

MediaNext
Triggered when the Next function is called.

MediaPrevious
Triggered when the Previous function is called.

PlaybackComplete
Triggered when playback of a song is complete.

PlaylistSet
Triggered when playlist of songs is complete.

MusicFilesRetrieved
Triggered when audio files are retrieved from the device.
SongIndexChanged
Triggered when the current song index changes.

SeekPositionChanged
Triggered when the seek position changes.

SleepTimerTick
Triggered every second while sleep timer is active.

SleepTimerFinished
Triggered when sleep timer finishes.

SleepTimerCancelled
Triggered when sleep timer is manually cancelled.

HeadphonesConnected
Triggered when headphones are connected.
HeadphonesDisconnected
Triggered when headphones are disconnected and playback is paused.
HeadsetButtonPressed
Triggered when a headset button is pressed.
v1.0 Jan 15, 2026.
- This aia project is an example of how to get the artist and title from
Icecastand comes with two other extensions to get the album art and lyrics from a location other thanIcecastorShoutcast.
Media3ExoPlayer.aia (2.2 MB)
joejsanz.joedevmedia.aix (2.2 MB)
JDK: 11
Minimum API Level: 21
Updated On: 2026-01-15T08:00:00Z
Built using: FAST-CLI v5.3.2-premium
Thanks.














