PartyPlanet
PartyPlanet

Reputation: 63

How to get the length of an audio file from a link to a website in Kotlin / Java?

I'm trying to get the length of an audio file. Sadly I run into some issues trying to retrieve that file. This is my code (which is in Kotlin):

val inputStream = AudioSystem.getAudioInputStream(URL(url))
val format = inputStream.format

val durationSeconds = inputStream.frameLength / format.frameRate
lengthTicks = (durationSeconds * 20).toDouble()

The link I use is https://cdn.bandithemepark.net/lindburgh/HyperionHal.mp3 When my code gets ran, I get "UnsupportedAudioFileException: URL of unsupported format"

I am unsure why I am getting this error, since MP3 looks like a pretty normal file format to me. I also tried using an MP4 file, but I got the same error with that. Does anybody know what is happening here?

Upvotes: 1

Views: 320

Answers (1)

AlexT
AlexT

Reputation: 2964

According to the docs:

The provided reference implementation of this API supports the following features:
    Audio file formats: AIFF, AU and WAV
    Music file formats: MIDI Type 0, MIDI Type 1, and Rich Music Format (RMF)

So it does looks like mp3 and mp4 are not supported. You'll most likely need a library/plugin.

Deciding on which one you might need is beyond the scope of SO, as that would be an opinion-based answer and is not considered acceptable.

Upvotes: 2

Related Questions