Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MP3 music files throwing IOException: Resetting to invalid mark #65

Closed
BrockWS opened this issue Jun 4, 2016 · 1 comment
Closed

MP3 music files throwing IOException: Resetting to invalid mark #65

BrockWS opened this issue Jun 4, 2016 · 1 comment

Comments

@BrockWS
Copy link

BrockWS commented Jun 4, 2016

When reading certain mp3 files i get the following:

java.io.IOException: Resetting to invalid mark at java.io.BufferedInputStream.reset(BufferedInputStream.java:448) at org.tritonus.share.sampled.file.TAudioFileReader.getAudioInputStream(TAudioFileReader.java:339) at javazoom.spi.mpeg.sampled.file.MpegAudioFileReader.getAudioInputStream(MpegAudioFileReader.java:583) at javazoom.spi.mpeg.sampled.file.MpegAudioFileReader.getAudioInputStream(MpegAudioFileReader.java:493) at javax.sound.sampled.AudioSystem.getAudioInputStream(AudioSystem.java:1181) at com.ddoggy99.discordbot.handlers.MusicHandler.playMusic(MusicHandler.java:108) at com.ddoggy99.discordbot.handlers.CommandHandler.onCommandPlay(CommandHandler.java:37) at com.ddoggy99.discordbot.handlers.CommandHandler.processCommand(CommandHandler.java:87) at com.ddoggy99.discordbot.handlers.CommandHandler.onMessageReceived(CommandHandler.java:75) at net.dv8tion.jda.hooks.ListenerAdapter.onEvent(ListenerAdapter.java:178) at net.dv8tion.jda.hooks.InterfacedEventManager.handle(InterfacedEventManager.java:64) at net.dv8tion.jda.handle.MessageReceivedHandler.handleInternally(MessageReceivedHandler.java:79) at net.dv8tion.jda.handle.SocketHandler.handle(SocketHandler.java:38) at net.dv8tion.jda.requests.WebSocketClient.handleEvent(WebSocketClient.java:571) at net.dv8tion.jda.requests.WebSocketClient.onTextMessage(WebSocketClient.java:310) at com.neovisionaries.ws.client.ListenerManager.callOnTextMessage(ListenerManager.java:352) at com.neovisionaries.ws.client.ReadingThread.callOnTextMessage(ReadingThread.java:233) at com.neovisionaries.ws.client.ReadingThread.callOnTextMessage(ReadingThread.java:211) at com.neovisionaries.ws.client.ReadingThread.handleTextFrame(ReadingThread.java:910) at com.neovisionaries.ws.client.ReadingThread.handleFrame(ReadingThread.java:693) at com.neovisionaries.ws.client.ReadingThread.main(ReadingThread.java:102) at com.neovisionaries.ws.client.ReadingThread.run(ReadingThread.java:61) Caused by: java.io.IOException: Resetting to invalid mark at java.io.BufferedInputStream.reset(BufferedInputStream.java:448) at org.tritonus.share.sampled.file.TAudioFileReader.getAudioInputStream(TAudioFileReader.java:390) at org.tritonus.share.sampled.file.TAudioFileReader.getAudioInputStream(TAudioFileReader.java:329) ... 20 more

Some do work normally using mp3 and using Intellij's IDEA Debugging I can set the mark to 0 and it will then load the file fine and play it.
I am using the latest dev build 2.0.0_283 and have tried with the recommended 2.0.0_243

@DV8FromTheWorld
Copy link
Member

The FilePlayer / URLPlayer use Java SPIs. It is the SPIs fault, not JDA.
Those are example implementations and aren't very good. The Java SPIs aren't very good and are prone to failure. I would recommend using an external audio encoder/decoder like FFmpeg and writing your own AudioSendHandler implementation.

You could also look into the https://github.com/DV8FromTheWorld/JDA-Player project.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants