I am trying to create a soundbank by reading from a file and passing it onto the getSoundbank function of MidiSystem. For this purpose, I have to read the file as InputStream for which I tried the following techniques but failed.
First technique -- reading the file using FileInputStream and passing it to the above mentioned function as follows:
InputStream audioSrc = new FileInputStream(file_path);
Soundbank soundbank = MidiSystem.getSoundbank(audioSrc);
It fails with mark/reset exception
Then, I tried the technique mentioned in this thread: java.io.IOException: mark/reset not supported Java Audio Input Stream / Buffered Input Stream
I am faced with java.io.IOException: Resetting to invalid mark exception with BufferedInputStream technique and java.lang.NullPointerException excpetion with url technique.
Is there any other technique to overcome the above mentioned exceptions?
Seems like java version 7 discontinued supporting older formats and implemented a new software synthesizer Gervill (http://www.oracle.com/technetwork/java/javase/6u30-relnotes-1394870.html) which has lead to incompatibility between versions 6 and 7(http://www.oracle.com/technetwork/java/javase/compatibility-417013.html#incompatibilities)
I had been using java version 6 until now and tried loading currently unsupported formats using java version 7 which likely caused these exceptions