gpt4 book ai didi

java - mvn clean install 后修改了目标文件夹中的 .wav 文件,无法正常播放

转载 作者:行者123 更新时间:2023-11-30 04:20:52 27 4
gpt4 key购买 nike

我正在开发一个 Maven 项目,需要播放 .wav 文件来伴随桌面警报。我已经单独测试了 .wav 文件,以确保它能够正常工作。我已将其导入到我的项目结构中,当它位于源目录中时,它的大小为 46 KB。当我对项目执行 mvn clean install 时,生成的目标目录包含 .wav 文件,但它有 87 kb。

这是我收到的错误:javax.sound.sampled.UnsupportedAudioFileException:无法从输入文件获取音频输入流

我放入了一条日志语句来检查 log4j 日志中生成的路径,并且该路径是正确的。这让我认为 mvn clean install 正在修改 .wav 文件的格式或内容,但我不明白如何以及最终如何防止它发生。

更新

这是一个代码片段:

String filename = this.getClass().getResource("/audio/affirmative.wav").getPath();

logger.debug("wav file path: " + filename);

AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File(filename).getAbsoluteFile());

Clip clip = AudioSystem.getClip();
clip.open(audioInputStream);
clip.start();

有什么想法吗?提前致谢!

最佳答案

您可能已将 wav 文件放在由 Maven 过滤的目录中(变量替换)。

解决方案:将二进制文件放在未过滤的目录中。

在我的项目中,我开始有 2 个资源目录:

  • src/main/resources:已过滤
  • src/main/resources-bin:未过滤

您可以在此处查看我用作父 POM 的 POM 文件,了解如何进行配置: http://search.maven.org/remotecontent?filepath=org/softsmithy/softsmithy-parent/2.2/softsmithy-parent-2.2.pom

或者,如果您愿意,您也可以将其用作您自己的父 POM 的父项:

<parent>
<groupId>org.softsmithy</groupId>
<artifactId>softsmithy-parent</artifactId>
<version>2.2</version>
</parent>

这样,您将获得资源配置以及更多开箱即用的信息。

不过,请确保覆盖父 POM 中的所有项目特定设置。

您可以通过运行mvn help: effective-pom来检查这一点。

关于java - mvn clean install 后修改了目标文件夹中的 .wav 文件,无法正常播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17096590/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com