【发布时间】:2017-11-04 01:38:35
【问题描述】:
我有一个小型 Maven Java 项目,它需要播放 WAV 文件,因此为了简单起见,我宁愿简单地将文件放入 src/main/resources/* 文件夹。但是,如果将使用AudioSystem.getAudioInputStream(...) 从磁盘加载的相同 WAV 文件放入 Maven 资源目录中,则程序会抛出 RIFFInvalidDataException 的实例:
com.sun.media.sound.RIFFInvalidDataException: Chunk size too big
at com.sun.media.sound.RIFFReader.<init>(RIFFReader.java:82)
at com.sun.media.sound.WaveFloatFileReader.internal_getAudioFileFormat(WaveFloatFileReader.java:65)
at com.sun.media.sound.WaveFloatFileReader.getAudioFileFormat(WaveFloatFileReader.java:55)
at com.sun.media.sound.WaveFloatFileReader.getAudioInputStream(WaveFloatFileReader.java:117)
at javax.sound.sampled.AudioSystem.getAudioInputStream(AudioSystem.java:1113)
at se.kth.speech.coin.tangrams.TangramsClient.playSound(TangramsClient.java:276)
at se.kth.speech.coin.tangrams.TangramsClient.signalGameStart(TangramsClient.java:335)
... 17 more
此外,如果我使用VLC 尝试打开$PROJECT/target/classes/org/coolproject/audio/ 的WAV 文件,程序实际上会崩溃;原文件处理没有任何问题
Maven 到底对我的音频文件做了什么?我正在使用嵌入在 Eclipse Neon.3 v4.6.3(内部版本 20170314-1500)中的 3.3.9/1.7.0.20160603-1931 版本,不幸的是无法尝试在 Eclipse 之外使用“正确”的 Maven 实例构建项目,因为构建依赖于a nightmare hybrid of an old Eclipse project including both Java source and pre-compiled DLLs and a Java-only Maven project.
【问题讨论】:
-
pom.xml可能需要查看正在发生的事情。
标签: java maven audio build wav