Java Jukebox
By Luke Miller
- 2 minute read - 339 wordsI was curious to see if I could write a music-shuffling program in Java, so that I could listen to tracks stored on an external hard drive. I had digitised an old vinyl collection, most of which can’t be found on YouTube!
The program is simple: it finds all the tracks from a given directory and its subdirectories, and plays them in a random order. If your music is organised into categories or artists, then you can target a particular genre by passing in the appropriate directory as the first argument.
There is a skipping functionality to move onto the next track if you’re not in the mood for a particular song - it is a little finicky, though, possibly because it runs on a separate thread.
Note: audio files are expected to be in the .mp3
format, else they are omitted from the playlist.
Installation
These instructions are meant for Ubuntu OS and may need tweaking for other systems.
To run this, you will need to install a java compiler, e.g. with:
sudo apt update
sudo apt install default-jre
sudo apt install default-jdk
javac -version
Additionally, you will need a music player. The Jukebox is hard-coded to use mpg123
player, which you can install on Ubuntu with:
sudo apt install mpg123
Run it
You can compile the program from the root directory with:
javac Jukebox.java
Then run it:
$ java Jukebox ~/Music/
Now playing: 01 - Miami 82 (feat. Madame Buttons) (Vocal Radio Edit)
Location : ~/Music/workout_music/01 - Miami 82 (feat. Madame Buttons) (Vocal Radio Edit).mp3
Now playing: 04 - Giving It All (Friend Within Remix)
Location : ~/Music/workout_music/04 - Giving It All (Friend Within Remix).mp3
Now playing: 01 - We Are Love
Location : ~/Music/workout_music/01 - We Are Love.mp3
...
End of playlist.
There is skipping capability (runs on a separate thread), which you can use to jump to the next track: just tap “s” followed by Enter.
If you like this project, please hit the ⭐ button on the GitHub page!
Updated: 30. August 2022