Я пытаюсь загрузить wav-файл в моей java-программе, используя код, который я нашел здесь:
Как узнать общее время звукового файла в Java?
Однако в строке 14:
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(file);
я получаю сообщение об ошибке
"Необработанные исключения: javax.sound.sampled.UnsupportedAudioFileException, java.io.IOException"
Это мой код:
import java.nio.file.FileSystems;
import java.io.File;
import java.nio.file.Path;
import javax.sound.sampled.*;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
public class Main {
public static void main(String[] args) {
Path path = FileSystems.getDefault().getPath("").toAbsolutePath();
File file = new File(path+"/sample/loop1.wav");
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(file);
AudioFormat format = audioInputStream.getFormat();
long audioFileLength = file.length();
int frameSize = format.getFrameSize();
float frameRate = format.getFrameRate();
float durationInSeconds = (audioFileLength / (frameSize * frameRate));
}
}
Я хочу создать метод выбора начальной точки воспроизведения в аудиофайле (например, начать воспроизведение файла через 30 секунд).Вот почему я не хочу получать продолжительность моего файла.
Когда я делаю System.out.println(file);
, он печатает правильный путь моего файла.Однако, так как я получаю сообщение об ошибке, я, очевидно, что-то делаю неправильно.
Я уже пытался найти решение в Интернете, но ничего не нашел, поэтому разместил здесь.
Спасибо за внимание.