我有一个需要播放 mp3 和 aac 文件的 java 项目。我创建了一个 MediaPlayer 类,它使用通用代码通过 Java Sound API 播放声音文件。我的 CLASSPATH 中有两个注册为 Java Sound SPI 的 audo 解码库。(MP3SPI 和 JAAD)。
问题是 MP3SPI 似乎优先于 JAAD。这意味着当我播放 AAC 文件时,MP3SPI 会引发异常并且(显然)不会播放我的歌曲。当我从 CLASSPATH 中删除 MP3SPI 时,会调用正确的 SPI (JAAD),并且我的 AAC 文件可以正常播放。
由于这个问题可能更笼统地表示,我希望有人有解决这个问题的经验。
如何同时支持 MP3 和 AAC 解码/播放?