我设法制作了一个可以理解Java中mp3的程序(通过jaco.mp3 jar),并且它可以工作。然而,这意味着.Wav文件当然不起作用。所以我修复了,这样我就可以使用Wav了,但问题是我那时不能使用mp3。所以我发现我可以使用文件扩展名,我的想法是这样做:
如果最后3或4个字母以.mp3结尾,则使用mp3方法,如果是.Wav,则使用Wave方法。但我真的不知道如何一起管理它,我想的更像是Switch的声明。但我以前从未使用过文件扩展名,可能需要一些帮助!
然而,这是我的mp3方法,现在是这样的:
public void Choose() {
String userDir = System.getProperty("user.home");
JFileChooser fileChooser = new JFileChooser(userDir +"/Desktop");
int returnValue = fileChooser.showOpenDialog(null);
if (returnValue == JFileChooser.APPROVE_OPTION) {
File selectedFile = fileChooser.getSelectedFile();
System.out.println(selectedFile.getName());
mp3_player = new MP3Player(selectedFile);
lblPlayURL.setText(selectedFile.getName());
}
}
}
正如你所看到的,我有一个JFileChooser,我可以在那里选择我想要的歌曲,当然我仍然想做,只是不同的是,现在它应该同时作为.Wav和.mp3工作。但我真的不知道该怎么做。所以需要你们的帮助!:)
在人们试图从一个写着Playing.Wav和.Mp3的帖子中给出任何建议之前。我只想首先说,我已经读过了,每个都只有答案,只有mp3或.Wav,而不是两者都有。所以这就是我创建这个线程的原因,因为我需要帮助!
您可以检查文件路径是否以MP3或WAV结尾,并根据条件使用if语句来运行不同的程序。
这可以这样做:
String ext = selectedFile.getPath();
if(ext.endsWith(".wav"))
{
// A WAV file was chosen
}
else if(ext.endsWith(".mp3"))
{
// An MP3 file was chosen
}
else
{
// Something else was chosen
}
编辑:这个方法和博格丹的答案可能是你最好的选择。
将FileFilter
规则添加到JFileChooser
以匹配.mp3和.wav文件:
fileChooser.addChoosableFileFilter(new FileTypeFilter(".mp3", "MP3 Files"));
fileChooser.addChoosableFileFilter(new FileTypeFilter(".wav", "WAV files"));
如何为JFileChooser对话框添加文件过滤器。