在Java中,如何获取可以读取的音频文件类型列表?

时间:2014-12-07 11:20:58

标签: java audio file-io

我想在Java中创建一个文件选择器来读取音频文件。如何获取javax.sound.sampled可以读取的音频文件类型的文件扩展名列表?我不想对其进行硬编码,因为我可能会在以后为更多文件类型添加提供程序,或者在不同的系统上可能会有所不同。

我知道我可以使用AudioSystem.getAudioFileTypes()但事实证明这只列出了系统可以写入的文件类型。但我已经为其他音频格式添加了SPI,这些格式提供了读取功能,但没有写入功能。

我还认为我可以获得javax.sound.sampled.spi.AudioFileReader的所有提供者列表:

ServiceLoader<AudioFileReader> readerLoader = ServiceLoader.load(AudioFileReader.class);

但我不知道如何查看每个提供商的文件类型。

那么是否存在一个等同于AudioSystem.getAudioFileTypes()的方法,它显示了可以读取的文件类型,或者我将如何编写此方法?

0 个答案:

没有答案