我设法创建一个可以在Java中理解mp3的程序(通过jaco.mp3 jar)并且它可以工作。但是,这意味着.Wav文件当然不起作用。所以我修复了以便我可以使用Wav,但问题是那时我不能使用mp3。所以我发现我可以使用文件扩展名,我的想法就是这样:
如果最后3或4个字母以.mp3结尾,则执行mp3方法,如果是.Wav则使用Wave方法。但我真的不知道如何一起管理它,我更像是一个Switch语句。但我以前从未使用过File扩展,可能需要som帮助!
然而,这是我现在的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。但我真的不知道如何更进一步。所以你们需要任何帮助! :)
在人们尝试从播放.Wav和.Mp3的帖子中提出任何建议之前。我首先要说的是我已经阅读了它,并且只有关于它们的答案,只有mp3或.Wav。不是都。这就是我创建这个帖子的原因,因为我需要帮助!
答案 0 :(得分:0)
您可以检查文件路径是以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
}
编辑:这个方法和波格丹的回答可能是你最好的选择。
答案 1 :(得分:0)
将FileFilter
规则添加到JFileChooser
以匹配 .mp3 和 .wav 文件:
fileChooser.addChoosableFileFilter(new FileTypeFilter(".mp3", "MP3 Files"));
fileChooser.addChoosableFileFilter(new FileTypeFilter(".wav", "WAV files"));