我试图在Netbeans 8.0中为我的Netbeans平台项目添加MP3功能。据我所知,这可以使用ServiceLoader和用于MP3编解码器的SPI轻松添加到javax.sound.sampled库中。
所以我下载了MP3 SPI并解压缩,然后在Netbeans中我创建了一个Jar包装模块,其中包含zip文件中的三个jar(一个jar位于zip的根目录中,两个位于{{ 1}})。然后我使需要MP3功能的模块依赖于这个包装器模块。但是当我在这些模块中调用lib/
时," MP3"不是其中一种类型(仅#34; WAVE"," AU"和" AIFF")
我错过了什么?
我检查了主jar中AudioSystem.getAudioFileTypes()
下的正确文件。
我是否需要在包装模块中重新创建META-INF/services
结构?我用于包装器模块的代码库是否有所不同?我是否需要在代码中以某种方式提醒ServiceLoader?
以下是包装器模块的项目元数据:
lib/
答案 0 :(得分:1)
事实证明SPI工作正常。它可以读取和播放MP3文件。但是AudioSystem.getAudioFileTypes()
列出了可写的文件类型,SPI不提供写入MP3文件的能力。它不包含javax.sound.sampled.spi.AudioFileWriter