У меня есть короткий mp3 файл из которого мне нужно получить сырую аудио-дорожку в виде массива для последующего преобразования Фурье.
Я пытался использовать Jlayer для преобразования mp3 к wav, чтобы затем уже wav расшифровать в массив
Для этого я использую вот такой код:
public class Main {
public static void main(String[] args) {
try{
String sourceFile = "nts.mp3";
String targetFile = "out/nts.wav";
AudioInputStream mp3Stream = AudioSystem.getAudioInputStream(new File(sourceFile));
AudioFormat sourceFormat = mp3Stream.getFormat();
AudioFormat convertFormat = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED,
sourceFormat.getSampleRate(), 16,
sourceFormat.getChannels(),
sourceFormat.getChannels() * 2,
sourceFormat.getSampleRate(),
false);
AudioInputStream converted = AudioSystem.getAudioInputStream(convertFormat, mp3Stream);
AudioSystem.write(converted, AudioFileFormat.Type.WAVE, new File(targetFile));
}catch (Exception e){
e.printStackTrace();
}
}
}
Однако в converted я получаю поток полностью забитый нулями
К проекту подключены tritonus_share-0.3.6.jar, mp3spi1.9.5.jar, jl1.0.1.jar
В чем может быть ошибка?
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
В классе Scanner есть для int метод nextInt(), для double метод nextDouble(), для String метод nextLine(), а какой есть для char?
Можно ли переписать этот код с помощью Stream Api, как это будет выглядеть?