Как будто вы пытаетесь получить доступ к объекту, который является null
. Рассмотрим ниже пример:
TypeA objA;
. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException
, что имеет смысл.
См. Также этот пример:
String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
JLayer должен сделать все, в чем Вы нуждаетесь. Это не мертво, это просто стабильно. Автор закончил его довольно долгое время назад, и формат MP3 не видел большого изменения с тех пор. Вы заметите, что его кодовая база MP3SPI немного более свежа. То, что делает MP3SPI, это переводит способности JLAYER в API JavaSound. Таким образом можно взять любой код JavaSound, добавить MP3SPI к пути к классу и ожидать, что файлы MP3 начнут работать. Это довольно изящно.:)
Необходимо попробовать к изучению gstreamer-java, я имел успех с игрой медиа через него, и должно быть возможно преобразовать звуковые файлы с ним. Существует также JFFMpeg, который интегрируется в JMF, я не ввел по абсолютному адресу вокруг так очень с ним так, я не знаю общей степени его возможностей и состояния, но его что-то для взгляда на более тесно.
Кстати, я только что переместил свой проект MetaMusic на http://github.com/cpesch/MetaMusic/ , так как там инфраструктура намного лучше.
Вы можете попробовать Xuggler . Вот как это работает в ваших тестах:
* read and write meta data (for example ID3v2 tags in mp3 and all):
если базовый тип контейнера имеет поддержку метаданных в FFmpeg, Xuggler поддерживает его.
* convert compressed to to raw audio data and if possible raw audio data to mp3, ogg, aac, ...
Xuggler поддерживает mp3, ogg (vorbis или speex), speex, vorbis, flac, aac, и т.д.
* digitally process the audio data (energy, timbre, Mel Frequency Cepstral Coefficients - MFCC, FFT, LPC, Autocorrelation, Wavelet, ...)
Xuggler не имеет модулей DSP, поэтому вам нужно будет найти для этого другую библиотеку. Но Xuggler предоставит вам необработанные данные.