У меня странная проблема, которую я пытался выяснить некоторое время. У меня есть приложение, которое я создаю с помощью Scala & Spray и который использует AudioSystem API. Я строю и тестирую приложение, используя SBT. У меня есть boot.scala, который расширяет «приложение». Если я устанавливаю следующий код в boot.scala и запустить его через Eclipse (без SBT) (Run As ... Scala App) он работает отлично ...SBT & Scala AudioSystem
val stream:AudioInputStream = AudioSystem.getAudioInputStream(new File("test.wav"))
val audioFormat:AudioFormat = stream.getFormat();
val samplingRate = audioFormat.getSampleRate()
println("Sampling Rate: "+samplingRate)
Частота дискретизации файла выводится как и ожидалось. У меня есть один и тот же код в тесте Specs2 Маршрут аналогично ...
"API" should {
"Respond to POST requests" in {
val stream:AudioInputStream = AudioSystem.getAudioInputStream(new File("test.wav"))
val audioFormat:AudioFormat = stream.getFormat();
val samplingRate = audioFormat.getSampleRate()
println("Sampling Rate: "+samplingRate)
...
Однако когда я исполню это с терминала, используя «тест SBT» Я получаю следующее сообщение об ошибке ...
UnsupportedAudioFileException: : could not get audio input stream from input file
Я знаю, что файл (test.wav) в порядке, поскольку я могу воспроизвести его, и выполнение кода через Eclipse отлично работает. Терминал (и его кодировки) тоже выглядит нормально, поскольку я собрал тестовый файл, который просто запускает те же самые несколько строк кода и успешно запускает его с терминала.
Проблема возникает только при использовании SBT!
У кого-нибудь есть идеи?
Благодаря
Кто-нибудь есть какие-либо идеи вообще?!?! Буквально вытаскивая мои волосы! – fatlog
Я также нашел эту страницу, которая, как представляется, предлагает другим людям проблемы с доступом к API Java Audio в SBT ... http://alvinalexander.com/scala/how-to-run-scala-application-jar- файлы-набор-классы? NoCache = 1 # комментарий-7779 – fatlog